以下代码,
String string = "<xml attributes>some xml code</xml>"
+ "<xml attributes>some xml code</xml>"
+ "<xml attributes>some xml code</xml>"
+ "<xml attributes>some xml code</xml>";
String[] stringArray = string.split("<xml");
for ( String i : stringArray) {
System.out.println(i);
}
打印
attributes>some xml code</xml>
attributes>some xml code</xml>
attributes>some xml code</xml>
attributes>some xml code</xml>
但我想在每个数组索引中保留&lt; xml 字,以便输出,
<xml attributes>some xml code</xml>
<xml attributes>some xml code</xml>
<xml attributes>some xml code</xml>
<xml attributes>some xml code</xml>
答案 0 :(得分:5)
稍微改变你的代码以使用正面的后视。
String[] stringArray = string.split("(?<=</xml>)");
O / P:
<xml attributes>some xml code</xml>
<xml attributes>some xml code</xml>
<xml attributes>some xml code</xml>
<xml attributes>some xml code</xml>
答案 1 :(得分:2)
怎么样:
String string = "<xml attributes>some xml code</xml>"
+ "<xml attributes>some xml code</xml>"
+ "<xml attributes>some xml code</xml>"
+ "<xml attributes>some xml code</xml>";
String strPattern = "<xml";
String[] stringArray = string.split(strPattern);
for ( String i : stringArray) {
System.out.println(strPattern + i);
}
答案 2 :(得分:2)
我只能想到这样做的蛮力方式:
String string = "<xml attributes>some xml code</xml>"
+ "<xml attributes>some xml code</xml>"
+ "<xml attributes>some xml code</xml>"
+ "<xml attributes>some xml code</xml>";
String[] stringArray = string.split("<xml");
for (int i = 1; i < stringArray.length; i++) {
stringArray[i] = "<xml"+stringArray[i];
}
for ( String i : stringArray) {
System.out.println(i);
}
请注意,for (String element : stringArray)
在这里不起作用,因为它按值复制元素,而不是指向数组中元素的指针。