我只[A-z|a-z]
想像这样删除:
String input ="A021001208A 711100609C 01111";
String clean = input.replaceAll("\\D+^\\s+","");
System.out.println(clean.toString());
但上面的代码也删除了空格;我不想删除空间。
预期的输出是:
021001208 711100609 01111
请帮助我格式化正则表达式以仅删除字符。
只需更换[a-zA-Z]
:
String clean = input.replaceAll("(?i)[A-Z]+","");
(?i)
是忽略大小写嵌入标志表达式。
试试这个,它将替换给定字符串中所有出现的字母。
String clean = input.replaceAll("[^a-zA-Z]", "");
你必须使用[a-zA-Z]
正则表达式。所以你的.replaceAll()
方法如下所示:
String clean = input.replaceAll("[a-zA-Z]","");
与其使用肯定的字符类,不如使用否定的字符类。你想要的正则表达式是:
[^\d\s]
这意味着“除数字或空格之外的任何字符”。
当编码为java时,它看起来像:
String clean = input.replaceAll("[^\\d\\s]","");