如何只删除java中给定字符串中的字符?

时间:2013-10-15 08:46:12

标签: java regex

我正在尝试仅删除此[A-z|a-z]

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

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

预期输出为:

021001208 711100609 01111

请帮我合成注册表,只删除字符。

4 个答案:

答案 0 :(得分:1)

只需替换[a-zA-Z]然后:

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

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

答案 1 :(得分:0)

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

String clean = input.replaceAll("[^a-zA-Z]", "");

答案 2 :(得分:0)

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

 String clean = input.replaceAll("[a-zA-Z]",""); 

答案 3 :(得分:0)

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

[^\d\s]

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

String clean = input.replaceAll("[^\\d\\s]","");