English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java.util.functionのパッケージPredicateこのインターフェースは、ラムダ式のターゲットとして使用できます。このインターフェースのテストメソッドは、値を受け取り、現在の述語オブジェクトの値でその値を検証します。一致項がある場合、このメソッドはtrueを返し、一致項がない場合、falseを返します。
java.util.regex.PatternのクラスasPredicate()このメソッドは、文字列を正規表現と一致させるためのPredicateオブジェクトを返します。この正規表現を使用して、現在のPatternオブジェクトをコンパイルできます。
import java.util.Scanner; import java.util.function.Predicate; import java.util.regex.Pattern; public class AsPredicateExample { public static void main( String args[] ) { //文字列値の読み取り Scanner sc = new Scanner(System.in); System.out.println("入力文字列を入力してください"); String input = sc.nextLine(); //数字を見つける正規表現 String regex = "[t]"; //正規表現をコンパイル Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE); //正規表現をパターンに変換 Predicate<String> predicate = pattern.asPredicate(); //入力文字列で述語をテストしています boolean result = predicate.test(input); if(result) { System.out.println("一致が見つかりました"); } else { System.out.print("一致が見つかりません"); } } }
出力結果
入力文字列を入力してください w3codebox 試合の数: 3
import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; import java.util.function.Predicate; import java.util.regex.Pattern; public class AsPredicateExample { public static void main( String args[] ) { ArrayList<String> list = new ArrayList<String>(); list.addAll(Arrays.asList("Java", "JavaFX", "Hbase", "JavaScript")); //数字を見つける正規表現 String regex = "[J]"; //正規表現をコンパイル Pattern pattern = Pattern.compile(regex); //正規表現をパターンに変換 Predicate<String> predicate = pattern.asPredicate(); list.forEach(n -> { if (predicate.test(n)) System.out.println("Match found "+n); }); } }
出力結果
Match found Java Match found JavaFX Match found JavaScript