Javaのcontainsメソッドで、文字列が含まれるか真偽値を返すサンプルです。
目次
サンプル | 文字列に指定の文字があるか(Stringのcontains) |
リストに指定の値があるか(Listのcontains) | |
正規表現で文字列が含まれているか真偽値を返す(matches) |
文字列に指定の文字があるか(Stringのcontains)
public boolean contains(CharSequence s) |
- 引数の文字列が含まれていた場合は、trueを返します。
- 含まれていない場合は、falseを返します。
- 引数は、String型を指定できます。
package test1;
public class Test1 {
public static void main(String[] args) {
String str1 = "12345";
System.out.println(str1.contains("3")); // true
System.out.println(str1.contains("9")); // false
String str2 = "あいうえお";
System.out.println(str2.contains("うえ")); // true
System.out.println(str2.contains("うお")); // false
}
}
リストに指定の値があるか(Listのcontains)
Listに対して値があるかcontainsで確認できます。ある場合はtrue、ない場合はfalseです。
package test1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test1 {
public static void main(String[] args) {
List<String> c1 = new ArrayList<>(Arrays.asList("aa", "bb"));
if (c1.contains("bb")) {
System.out.println("あり"); // ありが出力される
}
if (!c1.contains("bb")) {
System.out.println("あり");
}else {
System.out.println("なし"); // なしが出力される
}
}
}
16行目は否定です。
正規表現で文字列が含まれているか真偽値を返す(matches)
public boolean matches(String regex) |
- 正規表現を使用する場合は、matchesメソッドを使用します。
- 一致した場合、trueを返します。
- 一致しなかった場合、falseを返します。
- Stringクラスのメソッドです。
- 以下はJava8 API仕様のmatchesメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#matches-java.lang.String-
package test1;
public class Test1 {
public static void main(String[] args) {
String reg1 = "A[BC]";
System.out.println("AB".matches(reg1)); // true
System.out.println("AC".matches(reg1)); // true
System.out.println("AS".matches(reg1)); // false
String reg2 = "^AB.";
System.out.println("ABC".matches(reg2)); // true
System.out.println("AZC".matches(reg2)); // false
}
}
6行目は、正規表現で「A」の次の文字が「B」または「C」であるかを指定しています。
12行目は、正規表現での「^」で先頭に「AB」の文字があるか指定しています。
最後のドット「.」は、任意の一文字を表します。
関連の記事