如在本如何檢查一個串多少次包含另一個呢? 例子:
s1 "babab"
s2 "bab"
Result : 2
如果我使用匹配器它只能識別第一次出現:
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庫就像和掃描儀,StringTokenizer的,匹配等:
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);
這是一個家庭作業嗎? –
您可以簡單地在最後找到的索引開始的while循環中使用'String#indexOf()'。 – assylias
http://stackoverflow.com/questions/767759/occurences-of-substring-in-a-string –