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

在java中,如何在字符串中查找单词并将其复制到另一个字符串变量?,java,xml,string,Java,Xml,String,嗨,我有以下字符串变量- [ <row id="0"> <test>123abc</test> <INV>123456789</INV> </row> , <row id="1"> <test>456def</test> <INV>123456789</INV> </row> ] 我

嗨,我有以下字符串变量-

 [  <row id="0">
    <test>123abc</test>
    <INV>123456789</INV>
    </row>
   ,
    <row id="1">
    <test>456def</test>
    <INV>123456789</INV>
    </row>
 ] 

我使用了
replaceAll
来替换“[”、“、”和“]”现在我希望测试中的值存储在一个单独的字符串中,比如字符串s=123abc、456def

您应该使用解析器。但是,如果您不愿意,可以编写一个正则表达式来为您提取值,例如:

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
}
字符串行=
模式p=Pattern.compile((.*);
匹配器m=p.匹配器(线);
while(m.find()){
//m.group(1)是您想要的文本
//将其存储在变量中
}

选项1:使用dom解析器。非常容易使用。从中获取节点“test”并获取该标记内的值


选项2:使用substr()查找与的完全匹配的。现在您知道了子字符串的起始位置以及它将包含的字符数(6),因此可以从子字符串+7的位置查找字符串。

是否需要获取xml字符串中的值。。?或者只是想做一些有趣的事情。。?如果您正在开发一个应用程序,您应该使用jaxb xml到对象转换,而不是手动进行转换…不,我不希望它作为xml,我只需要它作为字符串,但我希望在您的目标是转换xml数据(即使它是字符串xml)之后找到字符我的目标是提取测试元素中的值,不要把它看作XML,把它看作是字符串,如果我用选项2来测试两次,我怎样才能在一个循环中运行它。第一次找到起始位置时,请找到值。现在你们的inpur字符串应该变为从你们的末端位置到字符串末端的所有剩余位置。但这根本不是一种好的编程方式。最好是使用XML解析器并完成工作。谢谢,但我如何使它成为像123abc、456def这样的单个字符串呢?我使用了cancat函数,但它不起作用
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
}