java - 如何在 xml 标记之间提取多语言字符串

标签 java regex xml

我正在尝试提取 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/

相关文章:

java - 在 Java 中将模式与输入进行匹配

javascript - 什么是 Node JS 的最佳 JSON 或 JS 对象到 XML 转换器模块

java - Java 可以理解同名的线程是不同的线程吗?

java - 'int kk = 2 | 3;' 是什么意思?

ruby-on-rails - 删除特定标签内的内容

xml - 如何为两个xml文件添加合并模板?

c# - XDocument 更改模式

java - 将字符串值从没有构建器的 Activity 发送到正常 Activity

java - PDFBox 命令行选项无法使用有效用户密码解密 PDF 文件

regex - 适用于 Mac OS X 的交互式正则表达式构建器学习工具?