Javaの正規表現を使って各単語の頭文字を抽出する方法
Javaで文字列から各単語の最初の文字(頭文字)だけを取り出したい場合、正規表現を活用すると簡単に実現できます。この記事では、その具体的な手順とサンプルコードをわかりやすく解説します。
使用する正規表現の仕組み
ポイントとなるのは、次の2つの要素です。
- \b:単語の境界(ワードバウンダリ)にマッチするメタ文字
- [a-zA-Z]:英字(大文字・小文字のいずれか)1文字にマッチする文字クラス
これらを組み合わせた正規表現 \b[a-zA-Z] は、「各単語の境界の直後にある英字1文字」、つまり各単語の最初の文字にマッチします。
各単語の頭文字を取得する手順
Patternクラスのcompile()メソッドで、上記の正規表現をコンパイルしてパターンオブジェクトを作成します。Patternクラスのmatcher()メソッドに、対象となる入力文字列を引数として渡し、Matcherオブジェクトを取得します。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] を使えば、文章中のすべての単語から頭文字だけを効率よく抽出できます。頭字語の生成やテキスト解析など、さまざまな場面で応用できるテクニックなので、ぜひ活用してみてください。
-
【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]パ
-
Javaの正規表現で文字列から数値を抽出する方法
Javaの正規表現(Regular Expression)を使えば、文字列の中から数値だけを簡単に取り出すことができます。この記事では、実際のコード例とともに、さまざまなパターンでの数値抽出の方法を解説します。文字列を解析し、必要な情報を抜き出すスキルは、テスターにとって欠かせない能力の一つです。特にAPIテストでは、JSONやXML形式のレスポンスを解析する場面が多く、正規表現の知識が大いに役立ちます。以下では、Javaの正規表現を使って文字列から数字・数値を抽出する具体的な例を紹介します。文字列からすべての数値を抽出するimport java.util.regex.Matcher; imp