gpt4 book ai didi

java - 如果我在 Java 中使用模式和匹配器,如何找到匹配数?

转载 作者:行者123 更新时间:2023-11-29 06:23:28 25 4
gpt4 key购买 nike

我有以下代码

    Pattern keyPattern = Pattern.compile(key);
Matcher matcher = keyPattern.matcher(str);
return matcher.replaceAll(value);

这将用值替换 str 中的键;但我想知道有多少键的实例已被值替换。那怎么知道呢?

最佳答案

可以在循环中使用find方法进行计数。 Java tutorial 中有一个示例:

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class MatcherDemo {

private static final String REGEX = "\\bdog\\b";
private static final String INPUT = "dog dog dog doggie dogg";

public static void main(String[] args) {
Pattern p = Pattern.compile(REGEX);
Matcher m = p.matcher(INPUT); // get a matcher object
int count = 0;
while(m.find()) {
count++;
System.out.println("Match number "+count);
System.out.println("start(): "+m.start());
System.out.println("end(): "+m.end());
}
}
}

在调用查找的同时,您可以同时收集字符串的各个部分并在 StringBuffer 中手动构建结果。 .或者,如果性能不是问题,您可以先计数,然后使用 replaceAll 再次扫描字符串。

关于java - 如果我在 Java 中使用模式和匹配器,如何找到匹配数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2040455/

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