English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
メタキャラクター「\\b」を使って単語境界をマッチングできます。
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String args[]) { //ユーザーから文字列を読み取ります System.out.println("文字列を入力してください"); Scanner sc = new Scanner(System.in); String input = sc.nextLine(); String regex = "\\b"; //正規表現をコンパイルします Pattern pattern = Pattern.compile(regex); //検索マッチャーオブジェクト Matcher matcher = pattern.matcher(input); int count = 0; while(matcher.find()) { count++; } System.out.println("単語境界の数: ");+count); } }
出力結果
文字列を入力してください これはサンプルテキストです 単語境界の数: 10
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class FirstLetterExample { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("サンプルテキストを入力してください: "); String data = sc.nextLine(); String regex = "\\b[a-zA-Z]"; //パターンオブジェクトを作成します Pattern pattern = Pattern.compile(regex); //Matcherオブジェクトを作成します Matcher matcher = pattern.matcher(data); System.out.println("与えられた文字列の各単語の最初の文字: "); while(matcher.find()) { System.out.print(matcher.group())+" "); } } }
出力結果
サンプルテキストを入力してください: National Intelligence Agency Research & Analysis Wing 与えられた文字列の各単語の最初の文字 N I A R A W