2013-03-09 55 views
5

我有这样的字符串后删除一切:Java中,与blankstring替换字符串的数字和数字

Alian 12WE 

ANI1451 

有后的任何方式,以取代所有的数字(和一切数字)与JAVA中的空字符串?

我所要的输出是这样的:

Alian 

ANI 
+0

使用正则表达式搜索号码的第一个索引,然后使用'substring(0,index)'..谷歌它如何在java和substring方法中使用正则表达式。享受编码:) – asifsid88 2013-03-09 17:11:27

回答

7

用正则表达式替换"\\d.+$",这是很简单的:

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 for reply! – user1966221 2013-03-09 18:13:27

2

你可以使用正则表达式来删除everyting一个数字被发现之后 - 是这样的:

String s = "Alian 12WE"; 
s = s.replaceAll("\\d+.*", ""); 
  • \\d+找到一个或更多连续的数字
  • .*匹配数字后的任何字符
1

使用正则表达式

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

或用""

+0

添加'.trim()'去除尾部空格 – asifsid88 2013-03-09 17:13:27

+1

看看输出示例:'Alian' – 2013-03-09 17:14:26