gpt4 book ai didi

java - 计算有多少个被replaceFirst和StringUtils.countMatches替换

转载 作者:行者123 更新时间:2023-12-01 09:54:17 25 4
gpt4 key购买 nike

我正在尝试将字符串结果中的所有“n”替换为“正常”。我想计算有多少被替换了

enter image description here

我尝试了在 stackoverflow 上找到的两种不同方法,但似乎都不起作用。

使用replaceFirst的方法1:

while (!result.replaceFirst(" n", " normal").equals(result)) {
result = result.replaceFirst(" n", " normal");
normal++;
}

它给了我一个无限循环。

我尝试使用 StringUtils 的第二种方法:

normal = StringUtils.countMatches(" n", " normal");

但它用红色强调了 countMatches 并且不起作用

最佳答案

第一个例程进入无限循环的原因是因为您正在替换循环内的字符串,并且每次替换都会在字符串中添加另一个“n”。您应该分别进行计数和替换:

String s = "abc n def n ghi n";
int count = 0;
for( int i=0; i < s.length(); i++ ) {
if( s.charAt(i) == 'n' ) {
count++;
}
}
s=s.replaceAll("n", "normal");

System.out.println(s);

关于java - 计算有多少个被replaceFirst和StringUtils.countMatches替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37365101/

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