2013-03-09 6 views
5

mam ciągi typu:Java, należy wymienić numery ciągów blankstring i usunąć wszystko po numerach

Alian 12WE 

i

ANI1451 

Czy istnieje jakiś sposób, aby wymienić wszystkie numery (a wszystko po liczb) z pustym ciągiem w JAVA?

Chcę wyjście wyglądać tak:

Alian 

ANI 
+0

Wykorzystanie wyrażeń regularnych do wyszukiwania pierwszy indeks numeru, a następnie użyć 'podłańcuch (0, indeks)' .. google to, jak korzystać z regex w java i metodzie podłańcuchowej. Ciesz się kodowaniem :) – asifsid88

Odpowiedz

7

z regex, to całkiem proste:

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 za odpowiedź! – user1966221

2

Można użyć wyrażenia regularnego usunąć everyting po cyfra znajduje się - coś takiego:

String s = "Alian 12WE"; 
s = s.replaceAll("\\d+.*", ""); 
  • \\d+ znajdzie jeden lub kolejne cyfry
  • .* pasuje do dowolnych znaków po cyfrach
1

użyć wyrażenia regularnego

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

Albo zastąpić "\\d.+$" z ""

+0

Dodaj '.trim()', aby usunąć spacje końcowe – asifsid88

+1

Zobacz przykładowe wyjście: 'Alian' –

Powiązane problemy