Java 替换所有特殊字符、数字和字母
例如,这就是代码Java 替换所有特殊字符、数字和字母,java,regex,string,replace,replaceall,Java,Regex,String,Replace,Replaceall,例如,这就是代码 String a="abcd ABCD 0123 !@#$%^&*()"; 这是将数字和字母替换为空白的语法 a = a.replaceAll("[a-zA-Z0-9]",""); a = a.replaceAll("[^\\w\\s-_]",""); 这是将特殊字符替换为空白字符的语法 a = a.replaceAll("[a-zA-Z0-9]",""); a = a.replaceAll("[^\\w\\s-_]",""); 那么,我如何结合这两种语法来用
String a="abcd ABCD 0123 !@#$%^&*()";
这是将数字和字母替换为空白的语法
a = a.replaceAll("[a-zA-Z0-9]","");
a = a.replaceAll("[^\\w\\s-_]","");
这是将特殊字符替换为空白字符的语法
a = a.replaceAll("[a-zA-Z0-9]","");
a = a.replaceAll("[^\\w\\s-_]","");
那么,我如何结合这两种语法来用空格替换特殊字符、数字和字母,而不使用此方法a=a.replaceAll(“.”,”)代码>是否将整个字符串替换为空白
还有其他方法吗???与|
结合使用:
a=a.replaceAll("[a-zA-Z0-9]|[^\\w\\s-_]", "");
我不确定你想要实现什么,但如果你想结合两个字符集,你可以
- 使用
或运算符,如[oneSet]|[secondSet]
- 将它们放在其他集合中,如
[[oneSet][secondSet]]
- 这也可以简化为
[oneSet[secondSet]]
,因此您可能正在寻找类似
演示:我将用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
或者,您可以使用下面的说明换行
String s = "abcd ABCD 0123 !@#$%^&*()";
System.out.println(s.replaceAll("(?s)."," "));
在这次替换之后,您的预期输出是什么?感谢您的帮助,如果我的问题令人困惑,很抱歉,这只是为了满足我的好奇心,因为除非我解决我的疑问,否则我无法继续。对于这个“[^\\w\\s-\\\”表达式,\-”不会被删除。如何删除-?@phongyewtong Check[^\\w\\s-]|
。