如何在java中只删除给定字符串中的字符?
我只想删除如何在java中只删除给定字符串中的字符?,java,regex,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 请帮助我格式化reg ex以仅删除字符。只需替换[a-zA-Z],然后: St
[A-z | A-z]
如下:
String input ="A021001208A 711100609C 01111";
String clean = input.replaceAll("\\D+^\\s+","");
System.out.println(clean.toString());
但是上面的代码也删除了空格;我不想删除空间
预期产出为:
021001208 711100609 01111
请帮助我格式化reg ex以仅删除字符。只需替换
[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]","");
它删除了字符串之间的空格,我想保留sapce,它应该只删除A-Z或A-zI。我不相信它删除了空格。您确定测试正确吗?input.replaceAll(“[a-zA-Z]”,“”);可以删除这些字符。。相同的任何reg ex模式。@jcrshankar上面的也是regex。似乎你在寻找一些复杂的答案……是的??它删除了字符串之间的空格,我想保留空格,它应该只删除A-Z或A-z@jcrshankar最好向我们展示你在问题中得到的实际代码、实际文本和输出,因为这和我的答案中的正则表达式都不会删除空格。@RohitJain它们可能是制表符而不是空格,在这种情况下,
\s
相反-请参阅编辑的答案(如果字符是空格,它仍然有效)这将给出我的输出,任何相同的正则表达式模式。[a-zA-Z]
仅是正则表达式模式。仅供参考,如果它起作用,那么[a-zA-Z]+
也会起作用。