Beachten Sie, dass dadurch die Ziffern aus den verschiedenen Teilen der Strings zu einer Zahl zusammengeführt werden. Wenn Sie sowieso nur eine Nummer haben, funktioniert das immer noch. Wenn Sie nur die erste Nummer möchten, können Sie Folgendes tun:
%Vor% Die Regex ist ein bisschen komplizierter, aber sie ersetzt im Grunde die ganze Zeichenfolge durch die erste Ziffernfolge (mit optionalem Minuszeichen), bevor Integer.parseInt
verwendet wird, um in Ganzzahl zu analysieren.
%Vor%Dies ist der Google Guava #CharMatcher Weg.
%Vor%Wenn Sie nur ASCII-Zeichen verwenden möchten, verwenden Sie
%Vor%Wenn Sie nur Buchstaben des lateinischen Alphabets suchen, verwenden Sie
Sie könnten es wahrscheinlich in diese Richtung tun:
%Vor%Es ist leicht an mehrere Nummerngruppen anpassbar. Der Code dient nur zur Orientierung: Es wurde nicht getestet.
Eingabe "asg123d ddhd-2222-33sds --- --- 222 ss --- 33dd 234" ergibt diese Ausgabe [123, -2222, -33, -222, -33, 234]