我正在尝试提取 xml 标记之间的文本。标签之间的文本是多语言的。 例如:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
तुम्हारा नाम क्या है
</string>
我试着用谷歌搜索它并得到了一些正则表达式,但那没有用 这是我试过的:
String str = "<string xmlns="+
"http://schemas.microsoft.com/2003/10/Serialization/"+">"+
"तुम्हारा नाम क्या है"+"</string>";
final Pattern pattern = Pattern.compile("<String xmlns="+
"http://schemas.microsoft.com/2003/10/Serialization/"+">(.+?)</string>");
final Matcher matcher = pattern.matcher(str);
matcher.find();
System.out.println(matcher.group(1));
给定的String
格式是
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
तुम्हारा नाम क्या है
</string>
预期的输出是:
तुम्हारा नाम क्या है
它给我一个错误
最佳答案
此模式匹配预期部分和 $1
给你预期的结果:
/<string .*?>(.*?)<\\/string>/
Online Demo
但是强烈建议停止使用正则表达式这样做......!你得找个JAVA的HTML解析器,简单抓取<string>
的内容标签。
关于java - 如何在 xml 标记之间提取多语言字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37680363/