在java中如何在字符串中查找单词并将其复制到另一个字符串变量?

时间:2015-02-10 13:04:34

标签: java xml string

您好我有以下字符串变量 -

 [  <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

2 个答案:

答案 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