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

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

Susan Sarandon
リリース: 2024-12-12 18:49:15
オリジナル
828 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート