Heim >Java >javaLernprogramm >Wie extrahiere ich mit regulären Ausdrücken eine Zahl aus einer Zeichenfolge in Java?

Wie extrahiere ich mit regulären Ausdrücken eine Zahl aus einer Zeichenfolge in Java?

Susan Sarandon
Susan SarandonOriginal
2024-12-12 18:49:15830Durchsuche

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

So extrahieren Sie einen Wert aus einer Zeichenfolge mithilfe regulärer Ausdrücke in Java

Frage:

Wie können wir bei einer Reihe von Zeichenfolgen mit der Struktur „[etwas Text] [etwas Zahl] [etwas mehr Text]“ den Wert „etwas Zahl“ extrahieren? Javas Klassen für reguläre Ausdrücke (Regex)? Wir sind in erster Linie an einer einzelnen Instanz von „some number“ interessiert und die Quellzeichenfolgen sind kurz.

Antwort:

Um die Extraktion zu erreichen, befolgen Sie diese Schritte :

  1. Erstellen Sie ein Muster Objekt:

    • Definieren Sie ein Musterobjekt mit Pattern.compile(regex) mit Ihrem gewünschten regulären Ausdruck. Zum Beispiel:

      private static final Pattern p = Pattern.compile("^([a-zA-Z]+)([0-9]+)(.*)");
  2. Erstellen Sie ein Matcher-Objekt:

    • Rufen Sie ein Matcher-Objekt mit p ab .matcher(sourceString), um das Muster mit der Eingabe abzugleichen string.
  3. Auf Übereinstimmung prüfen:

    • Rufen Sie m.find() auf, um festzustellen, ob das Muster vorhanden ist in der Zeichenfolge.
  4. Extrahieren Sie die Wert:

    • Wenn eine Übereinstimmung gefunden wird, verwenden Sie m.group(index), um die gewünschte Gruppe abzurufen. Beispielsweise gibt m.group(2) den Wert „irgendeine Zahl“ zurück.

Beispiel:

Matcher m = p.matcher("Testing123Testing");

if (m.find()) {
    System.out.println(m.group(2)); // prints 123
}

Regex-Verfeinerungen:

Um die erste Zahl zu extrahieren, verwenden Sie die folgende reguläre Zahl Ausdruck:

^\D+(\d+).*

Dies entspricht Zeichenfolgen, bei denen auf ein nichtstelliges Zeichen eine oder mehrere Ziffern und zusätzliche Zeichen folgen. m.group(1) ruft den Wert „irgendeine Zahl“ ab.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich mit regulären Ausdrücken eine Zahl aus einer Zeichenfolge in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn