这是代码
String a="abcd ABCD 0123 !@#$%^&*()";
这是替换数字和语言的语法。带空格的字母
a = a.replaceAll("[a-zA-Z0-9]","");
这是用空格
替换特殊字符的语法a = a.replaceAll("[^\\w\\s-_]","");
那么如何将这两种语法结合起来用空格替换特殊字符,数字和字母而不使用此方法a = a.replaceAll(".","");
将整个字符串替换为空白?
还有其他方法吗?
答案 0 :(得分:1)
我不确定你想要实现什么,但是如果你想组合两个字符集,你可以
OR
[oneSet]|[secondSet]
运算符
[[oneSet][secondSet]]
之类的其他设置中
[oneSet[secondSet]]
,所以也许你正在寻找像a = a.replaceAll("[a-zA-Z0-9[^\\w\\s-_]]","");
演示:我将用X
替换找到的字符,以准确显示更换的字符
String a = "abcd ABCD 0123 !@#$%^&*()";
System.out.println(a.replaceAll("[a-zA-Z0-9]", "X"));
System.out.println(a.replaceAll("[^\\w\\s-_]", "X"));
System.out.println(a.replaceAll("[a-zA-Z0-9[^\\w\\s-_]]", "X"));
输出:
XXXX XXXX XXXX !@#$%^&*()
abcd ABCD 0123 XXXXXXXXXX
XXXX XXXX XXXX XXXXXXXXXX
答案 1 :(得分:0)
与|
:
a=a.replaceAll("[a-zA-Z0-9]|[^\\w\\s-_]", "");
答案 2 :(得分:0)
或者,您可以使用以下内容来说明换行符
String s = "abcd ABCD 0123 !@#$%^&*()";
System.out.println(s.replaceAll("(?s)."," "));