2013-03-09 1 views
5

Ich habe Strings wie:Java, Stringnummern mit blankstring ersetzen und entfernt alles nach den Zahlen

Alian 12WE 

und

ANI1451 

Gibt es eine Möglichkeit, alle Zahlen zu ersetzen (und alles, was nach dem Zahlen) mit einer leeren Zeichenfolge in JAVA?

Ich möchte die Ausgabe wie folgt aussehen:

Alian 

ANI 
+0

Verwendung regulärer Ausdruck den ersten Index der Nummer zu suchen und verwenden Sie dann 'substring (0, index)' .. google es, wie man Regex in Java und Substring-Methode verwendet. Viel Spaß beim Codieren :) – asifsid88

Antwort

7

Mit einem regulären Ausdruck, es ist ziemlich einfach:

public class Test { 

    public static String replaceAll(String string) { 
     return string.replaceAll("\\d+.*", ""); 
    } 

    public static void main(String[] args) { 
     System.out.println(replaceAll("Alian 12WE")); 
     System.out.println(replaceAll("ANI1451")); 
    } 
} 
+0

THAnks für die Antwort! – user1966221

2

Sie einen regulären Ausdruck verwenden könnte Every zu entfernen, nachdem eine Ziffer gefunden ist - so etwas wie:

String s = "Alian 12WE"; 
s = s.replaceAll("\\d+.*", ""); 
  • \\d+ findet ein oder mehr aufeinanderfolgende Ziffern
  • .* passt alle Zeichen nach den Ziffern
1

Verwendung Regex

"Alian 12WE".split("\\d")[0] // Splits the string at numbers, get the first part. 

Oder ersetzen "\\d.+$" mit ""

+0

Hinzufügen '.trim()' um Leerzeichen zu entfernen – asifsid88

+1

Sieh dir die Beispielausgabe an: 'Alian' –

Verwandte Themen