Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaの正規表現を使って各単語の頭文字を抽出する方法

Javaで文字列から各単語の最初の文字(頭文字)だけを取り出したい場合、正規表現を活用すると簡単に実現できます。この記事では、その具体的な手順とサンプルコードをわかりやすく解説します。

使用する正規表現の仕組み

ポイントとなるのは、次の2つの要素です。

  • \b:単語の境界(ワードバウンダリ)にマッチするメタ文字
  • [a-zA-Z]:英字(大文字・小文字のいずれか)1文字にマッチする文字クラス

これらを組み合わせた正規表現 \b[a-zA-Z] は、「各単語の境界の直後にある英字1文字」、つまり各単語の最初の文字にマッチします。

各単語の頭文字を取得する手順

  1. Pattern クラスの compile() メソッドで、上記の正規表現をコンパイルしてパターンオブジェクトを作成します。
  2. Pattern クラスの matcher() メソッドに、対象となる入力文字列を引数として渡し、Matcher オブジェクトを取得します。
  3. find() メソッドでマッチを順に検索しながら、group() メソッドを呼び出して、マッチした文字を取り出します。

サンプルコード

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

このように、正規表現 \b[a-zA-Z] を使えば、文章中のすべての単語から頭文字だけを効率よく抽出できます。頭字語の生成やテキスト解析など、さまざまな場面で応用できるテクニックなので、ぜひ活用してみてください。

  1. 【Python】正規表現を使って文字列内の単語をマッチ・抽出する方法

    次のコードは、指定された文字列の中から「meeting」という単語を抽出します。ここでは肯定の先読み(look-ahead)と肯定の後読み(look-behind)アサーションを使用しています。これにより、単語を囲む文字の存在を条件として考慮しつつ、その文字自体はマッチ結果に含めないようにできます。コード例import re s = https://www.google.com/meeting_agenda_minutes.html result = re.findall(r(?<=[\W_])meeting(?=[\W_]), s) print(result)出力[meeting]パ

  2. Javaの正規表現で文字列から数値を抽出する方法

    Javaの正規表現(Regular Expression)を使えば、文字列の中から数値だけを簡単に取り出すことができます。この記事では、実際のコード例とともに、さまざまなパターンでの数値抽出の方法を解説します。文字列を解析し、必要な情報を抜き出すスキルは、テスターにとって欠かせない能力の一つです。特にAPIテストでは、JSONやXML形式のレスポンスを解析する場面が多く、正規表現の知識が大いに役立ちます。以下では、Javaの正規表現を使って文字列から数字・数値を抽出する具体的な例を紹介します。文字列からすべての数値を抽出するimport java.util.regex.Matcher; imp