您好我有以下字符串变量 -
[ <row id="0">
<test>123abc</test>
<INV>123456789</INV>
</row>
,
<row id="1">
<test>456def</test>
<INV>123456789</INV>
</row>
]
它是一个xml
,但我在java
代码内发送这个纯字符串 -
String check = inXml;
System.out.println("incoming payload is "+check);
check = check.replaceAll(",","");
check = check.replaceAll("\\[", "");
check = check.replaceAll("\\]", "");
我使用replaceAll
来代替&#34; [&#34;,&#34;,&#34;和&#34;]&#34;现在我希望test中的值存储在一个单独的字符串中,如String s = 123abc,456def
答案 0 :(得分:3)
您应该使用解析器。但是,如果您不想要,可以编写一个为您提取值的正则表达式,例如:
String line = <yout_html_string>
Pattern p = Pattern.compile("<test>(.*?)</test>");
Matcher m = p.matcher(line);
while (m.find()) {
// m.group(1) is the text you want
// store it in a variable
}
答案 1 :(得分:0)
选项1:使用dom解析器。非常好用。从中获取节点'test'并获取该标记内的值。
选项2:使用substr()查找完全匹配。现在您知道子串的起始位置以及它将成为的字符数(6),从而从子串的位置找到字符串+ 7