一致が発生したかどうか、または一致が発生した場所を確認するかどうかはわかりません。一致が発生したかどうかを確認する最も簡単な方法は、
list.matches("(^|(.*,))bear((,.*)|$)");
は^
、bear が文字列の先頭にあるかどうかを確認します。|
手段や。は.*
0 個以上の文字を,
検索し、 は単純にコンマを検索します。は文字列の$
終わりを表します。括弧は一致条件として使用されますが、検索対象 (つまりbear
) の一部であるとは限りません。詳細については、Java のPattern
クラスを参照してください。
どこで発生したかを知りたい場合は、これが簡単な方法です。
String list = "apples,orange,bear,1,100,20,apple";//Notice that I made "bear" singular
Pattern pattern = Pattern.compile((?<=^|,)bear(?=,|$));//Compile the regex
Matcher matcher = pattern.matcher(list);//The text you want to search in
// Check all occurrences
while (matcher.find()) {
System.out.print("Start index: " + matcher.start());
System.out.print(" End index: " + matcher.end());
System.out.println(" Found: " + matcher.group());
}
印刷する
Start index: 14 End index: 18 Found: bear
これらのソリューションは両方とも正規表現を使用します。