java取出字符串中间的值,用正在表达式,活其他什么的?
字符串:"<RefId>10318</RefId><TrnCode>1602</TrnCode><SvcClass>1</SvcClass>"取出的值:根据TrnCode...
字符串:"<RefId>10318</RefId><TrnCode>1602</TrnCode><SvcClass>1</SvcClass>"
取出的值: 根据TrnCode 取出 "1602" --<TrnCode>1602</TrnCode> 展开
取出的值: 根据TrnCode 取出 "1602" --<TrnCode>1602</TrnCode> 展开
3个回答
展开全部
用Java正则表达式取出字符串中间值的程序如下:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class tempt
{
public static void main(String[] args)
{
String str="<RefId>10318</RefId><TrnCode>1602</TrnCode><SvcClass>1</SvcClass>";
String regex="\\>(.*?)\\<";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(str);
while (m.find()){
System.out.println(m.group(1));
}
}
}
运行结果:
10318
1602
1
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class tempt
{
public static void main(String[] args)
{
String str="<RefId>10318</RefId><TrnCode>1602</TrnCode><SvcClass>1</SvcClass>";
String regex="\\>(.*?)\\<";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(str);
while (m.find()){
System.out.println(m.group(1));
}
}
}
运行结果:
10318
1602
1
追问
最后 的结果我只想要 一个值:trnCode = 1602 ; 其他的我不要。把字符串转为dom树,然后解析可以解决,但是我感觉这样不是很好。 还有什么解决的办法吗? Sring aa = "
1031816021
"
追答
只想要一个值可以用正则直接取其值,具体的程序如下:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class tempt
{
public static void main(String[] args)
{
String label="TrnCode";
String str="1031816021";
String regex="\\(.*?)\\";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(str);
while (m.find()){
System.out.println(m.group(1));
}
}
}
运行结果:
1602
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询