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 :
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]+)(.*)");
Erstellen Sie ein Matcher-Objekt:
Auf Übereinstimmung prüfen:
Extrahieren Sie die Wert:
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!