文字列が別の文字列に含まれているかどうかを確認する必要があります。
たとえば、「abc」は「abc / def / gh」、「def / abc / gh」に含まれますが、 「abcd / xyz / gh」、「def / abcd/gh」には含まれません。
input
そこで、文字列を「/」で分割しました。次に、生成された文字列配列を繰り返して、をチェックしましたinput
。
次のようなものを使用して配列の作成を回避することは可能Regex
ですか?
また、正規表現を使用すると、私が使用した配列の作成と反復よりも高速になるかどうかを誰かが確認できますか?
前もって感謝します
public class RegexTest {
public static void main(String[] args) {
System.out.println(contains("abc/def/gh", "abc"));
System.out.println(contains("def/abc/gh", "abc"));
System.out.println(contains("def/abcd/gh", "abc"));
System.out.println(contains("abcd/xyz/gh", "abc"));
}
private static boolean contains(String input, String searchString) {
String[] strings = input.split("/");
for (String string : strings) {
if (string.equals(searchString))
return true;
}
return false;
}
}
コンソール出力は次のとおりです。truetruefalsefalse