gpt4 book ai didi

java - 使用 java 和 regex 从 xml 文件中提取值时出现问题

转载 作者:行者123 更新时间:2023-12-01 15:45:23 25 4
gpt4 key购买 nike

我有一个包含以下内容的文件

<div name="hello"></div>

我需要一个java代码来读取这个文件并只打印单词*hello

这就是我的想法

while (( line = bf.readLine()) != null)  

{
linecount++;

int indexfound = line.indexOf("<div name");

if (indexfound > -1) {
Pattern p = Pattern.compile("\"([^\"]*)\"");
Matcher m = p.matcher(line);
while (m.find()) { System.out.println(m.group(1)); }
}
}



bf.close();
}} catch (IOException e) {
e.printStackTrace();
}}}

但是这段代码的问题是,如果我对文件进行更改,使其看起来像这样

<div name="hello" value="hi"></div>

然后 hi 也会被打印,但我只想打印 hello

最佳答案

虽然此类问题的最佳答案是提倡使用 HTML 或 XML 解析器来提取属性,但值得指出您问题中的问题。

您将打印两个属性,因为您正在while循环内进行打印。您正在打印用双引号括起来的所有内容。

此外,您只需要 name 属性的值。所以你的模式应该形成如下:

Pattern.compile("name=\"([^\"]*)\"");

关于java - 使用 java 和 regex 从 xml 文件中提取值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7143334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com