gpt4 book ai didi

java - 在java中查找文件中的模式

转载 作者:行者123 更新时间:2023-11-30 06:43:56 25 4
gpt4 key购买 nike

我有一个文件,当我找到时

name="john"

我想返回约翰。我尝试执行以下操作:

Scanner scanner = new Scanner(new File("file.txt"));
List<String> list=new ArrayList<>();
while(scanner.hasNextLine()){
list.add(scanner.nextLine());
}

for(String str:list){
Pattern pattern = Pattern.compile("name='([^']*)'");
if(str.contains(pattern))

}

这里我不知道如何继续,我该如何返回它?我已阅读问题here但无法使其发挥作用。

最佳答案

您当前的模式不正确,它需要 ' 而文件正在使用 "。您可能想进一步改进该模式,但整个问题可以通过流:

Pattern pattern = Pattern.compile("name=\"(.+)\"");
try (BufferedReader reader = Files.newBufferedReader(Paths.get("file.txt"))) {
return reader.lines()
.map(pattern::matcher)
.filter(Matcher::matches)
.map(m -> m.group(1))
.findFirst()
.orElseThrow(IllegalArgumentException::new);
}

关于java - 在java中查找文件中的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51617480/

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