件名のように、ある文字列に別の文字列が含まれている回数を確認する方法は? 例:
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ライブラリiike 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);