我想将一些XML文本分成几部分:

xmlcontent = "<tagA>text1<tagB>text2</tagB></tagA>";


在C#中,我使用

string[] splitedTexts = Regex.Split(xmlcontent, "(<.*?>)|(.+?(?=<|$))");


结果是

splitedTexts = ["<tagA>", "text1", "<tagB>", "text2", "</tagB>", "</tagA>"]


用Java怎么做?

我努力了

String[] splitedTexts = xmlcontent.split("(<.*?>)");


但结果却不符合我的预期。

最佳答案

split的参数定义分隔符。您想在<之前和>之后拆分,因此您可以执行以下操作:

String[] splitedTexts = xmlcontent.split("(?=<)|(?<=>)");

09-29 21:26