如主题所述,如何检查一个字符串包含另一个字符串的次数?
例如:
如果我使用Matcher,它只会识别第一个匹配:
我可以这样做,但是我希望下面使用Java库如Scanner,StringTokenizer,Matcher等:
s1 "babab"
s2 "bab"
Result : 2
如果我使用Matcher,它只会识别第一个匹配:
String s1 = JOptionPane.showInputDialog(" ");
String s2 = JOptionPane.showInputDialog(" ");
Pattern p = Pattern.compile(s2);
Matcher m = p.matcher(s1);
int counter = 0;
while(m.find()){
System.out.println(m.group());
counter++;
}
System.out.println(counter);
我可以这样做,但是我希望下面使用Java库如Scanner,StringTokenizer,Matcher等:
String s1 = JOptionPane.showInputDialog(" ");
String s2 = JOptionPane.showInputDialog(" ");
String pom;
int count = 0;
for(int i = 0 ; i< s1.length() ; i++){
if(s1.charAt(i) == s2.charAt(0)){
if(i + s2.length() <= s1.length()){
pom = s1.substring(i,i+s2.length());
if(pom.equals(s2)){
count++;
}
}
}
}
System.out.println(count);
String#indexOf()
在while循环中,从上一次找到的索引位置开始搜索。 - assylias