Java で正規表現を使用して文字列から値を抽出する方法
質問:
「[何らかのテキスト] [何らかの数値] [その他のテキスト]」という構造の一連の文字列があるとします。 Java の正規表現 (regex) クラスを使用して「ある数値」値を抽出するにはどうすればよいでしょうか?私たちは主に「ある数値」の 1 つのインスタンスに興味があり、ソース文字列は短いです。
答え:
抽出を実行するには、次の手順に従います。 :
パターンの作成オブジェクト:
必要な正規表現を使用して Pattern.compile(regex) を使用して Pattern オブジェクトを定義します。例:
private static final Pattern p = Pattern.compile("^([a-zA-Z]+)([0-9]+)(.*)");
Matcher オブジェクトの作成:
一致の確認:
値を抽出します:
例:
Matcher m = p.matcher("Testing123Testing"); if (m.find()) { System.out.println(m.group(2)); // prints 123 }
正規表現の改良:
最初の数値を抽出するには、次を使用します。次の正規表現:
^\D+(\d+).*
これは、数字以外の文字の後に 1 つ以上の数字と追加の文字が続く文字列に一致します。 m.group(1) は「何らかの数値」値を取得します。
以上が正規表現を使用してJavaの文字列から数値を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。