我正在尝试格式化 XML 文档,所以我将一个字符串传递给一个方法,例如:
"<foo><subfoo><subsubfoo>content</subsubfoo></subfoo><subfoo/></foo>"
我正在尝试根据找到标签来拆分它。我想将每个元素(标签或内容)拆分为一个唯一的字符串,例如:
"<foo>", "<subfoo>", "<subsubfoo>", "content", "</subsubfoo>", "</subfoo>", "<subfoo/>", "</foo>"
为此,我使用以下代码:
string findTagString = "(?<=<.*?>)";
Regex findTag = new Regex(findTagString);
List<string> textList = findTag.Split(text).ToList();
上面的代码工作正常,除了它没有将“内容”拆分成自己的字符串,而是:
"<foo>", "<subfoo>", "<subsubfoo>", "content</subsubfoo>", "</subfoo>", "<subfoo/>", "</foo>"
有没有办法重写正则表达式来完成这一点,将不匹配项拆分成自己的字符串?
或者,改写:是否可以在正则表达式匹配之前和之后拆分字符串?