ホームページ >Java >&#&チュートリアル >正規表現を使用してJavaの文字列から数値を抽出するにはどうすればよいですか?

正規表現を使用してJavaの文字列から数値を抽出するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-12 18:49:15840ブラウズ

How to Extract a Number from a String in Java Using Regular Expressions?

Java で正規表現を使用して文字列から値を抽出する方法

質問:

「[何らかのテキスト] [何らかの数値] [その他のテキスト]」という構造の一連の文字列があるとします。 Java の正規表現 (regex) クラスを使用して「ある数値」値を抽出するにはどうすればよいでしょうか?私たちは主に「ある数値」の 1 つのインスタンスに興味があり、ソース文字列は短いです。

答え:

抽出を実行するには、次の手順に従います。 :

  1. パターンの作成オブジェクト:

    • 必要な正規表現を使用して Pattern.compile(regex) を使用して Pattern オブジェクトを定義します。例:

      private static final Pattern p = Pattern.compile("^([a-zA-Z]+)([0-9]+)(.*)");
  2. Matcher オブジェクトの作成:

    • p を使用して Matcher オブジェクトを取得します。 .matcher(sourceString) : パターンと入力を照合します。 string.
  3. 一致の確認:

    • m.find() を呼び出して、パターンが存在するかどうかを確認します。でstring.
  4. 値を抽出します:

    • 一致が見つかった場合は、m.group(index) を使用して目的のグループを取得します。たとえば、m.group(2) は「何らかの数値」値を返します。

例:

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。