Java-查找字符串中出现的子字符串

Java-查找字符串中出现的子字符串,java,Java,说我有一根绳子 String s = "foofoo bar barbarbar foo 我想找到所有出现的foo并像这样打印出来: foo foo foo 我已经研究过StringUtils,但对于我这个业余爱好者来说,这个库只能计算foo的出现次数。我有什么地方做错了吗?或者regex真的是最好的方式吗 可以使用String类的indexOf方法和同一类的substring方法来实现所需的结果,但是使用regex会减少键入,更容易实现。我在下面为您提供了一个可能的解决方案 import

说我有一根绳子

String s = "foofoo bar barbarbar foo
我想找到所有出现的foo并像这样打印出来:

foo foo foo

我已经研究过StringUtils,但对于我这个业余爱好者来说,这个库只能计算foo的出现次数。我有什么地方做错了吗?或者regex真的是最好的方式吗

可以使用String类的indexOf方法和同一类的substring方法来实现所需的结果,但是使用regex会减少键入,更容易实现。我在下面为您提供了一个可能的解决方案

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


public class Sample {
public static void main(String[] args) {
    String s = "foofoo bar barbarbar foo";

    Pattern p = Pattern.compile("foo");
    Matcher m = p.matcher(s);
    while(m.find()){
        System.out.print(m.group() + " ");
    }
}
}

一旦找到了发生的次数,只需循环在每个循环中写入foo的次数。