0

我只[A-z|a-z]想像这样删除:

String input ="A021001208A 711100609C 01111";
String clean = input.replaceAll("\\D+^\\s+",""); 
System.out.println(clean.toString());

但上面的代码也删除了空格;我不想删除空间。

预期的输出是:

021001208 711100609 01111

请帮助我格式化正则表达式以仅删除字符。

4

4 回答 4

1

只需更换[a-zA-Z]

String clean = input.replaceAll("(?i)[A-Z]+",""); 

(?i)是忽略大小写嵌入标志表达式。

于 2013-10-15T08:47:56.270 回答
0

试试这个,它将替换给定字符串中所有出现的字母。

String clean = input.replaceAll("[^a-zA-Z]", "");
于 2013-10-15T08:49:36.563 回答
0

你必须使用[a-zA-Z]正则表达式。所以你的.replaceAll()方法如下所示:

 String clean = input.replaceAll("[a-zA-Z]",""); 
于 2013-10-15T08:50:58.183 回答
0

与其使用肯定的字符类,不如使用否定的字符类。你想要的正则表达式是:

[^\d\s]

这意味着“除数字或空格之外的任何字符”。
当编码为java时,它看起来像:

String clean = input.replaceAll("[^\\d\\s]",""); 
于 2013-10-15T08:51:50.253 回答