【发布时间】:2016-07-02 20:50:23
【问题描述】:
如果标签的子标签包含特定文本,我想获取 id 的值。
输入:
<base>
<parent id="101" txt="hello">
<child1>
<data> search </data>
</child1>
<child2>
<data> send</data>
</child2>
</parent>
<parent id="102" txt="hello">
<child1>
<data> hai </data>
</child1>
<child2>
<data> hey </data>
</child2>
</parent>
</base>
输出:
我正在整个文件中搜索“嘿”文本,所以它应该返回 id="102"
我尝试过的代码片段
if(line.indexOf("<Parent")>= 0)
{
String output="";
Pattern pat = Pattern.compile("id=\".*?\"");
Matcher mat = pat.matcher(line);
if(mat.find())
{
int start=mat.start();
int end=mat.end();
output = line.substring(start+4,end-1);
}
Pattern pat1 = Pattern.compile("<parent"[A-Z](?i)[^.?!]*?\\b(hey)\\b[^.?!]*[.?!]")</parent>");
Matcher mat1 = pat.matcher(line);
if(mat.find())
{
bw.write(output);
}
}
【问题讨论】:
-
@PritamBanerjee - 使用我尝试过的脚本进行了更新
-
为什么所有的反对票在我看来都是合法的?