CodingBatの演習を完了するにつれて、Javaを学習しています。正規表現を使用して、レベル2の文字列の問題を解決したいと考えています。私は現在この問題を解決しようとしています:
文字列「code」が指定された文字列のどこかに出現する回数を返します。ただし、「d」の文字はすべて受け入れるため、「cope」と「cooe」がカウントされます。
countCode("aaacodebbb") → 1
countCode("codexxcode") → 2
countCode("cozexxcope") → 2
そして、これが私が書いたコードの一部です(これは機能しません、そして私は理由を知りたいです):
public int countCode(String str) {
int counter = 0;
for (int i=0; i<str.length()-2; i++)
if (str.substring(i, i+3).matches("co?e"))
counter++;
return counter;
}
おそらくmatchesメソッドは部分文字列と互換性がないと思いますが、よくわかりません。