[英]How do I replace all asterisks?
在Java中,我想用\\*
替换所有*
字符。
示例:文本: select * from blah
结果: select \\\\* from blah
public static void main(String[] args) {
String test = "select * from blah";
test = test.replaceAll("*", "\\*");
System.out.println(test);
}
这不起作用,也没有添加转义反斜杠。
我想到了
String test = "select * from blah *asdf";
test = test.replaceAll("\\*", "\\\\*");
System.out.println(test);
您不需要任何正则表达式功能,因此您应该使用非正则表达式版本String.replace(CharSequence,CharSequence) :
String test = "select * from blah *asdf";
test = test.replace("*", "\\*");
System.out.println(test);
对于那些在家里得分的人,并且因为理解答案可能对其他人有帮助...
String test = "select * from blah *asdf";
test = test.replaceAll("\\*", "\\\\*");
System.out.println(test);
因为必须转义特殊字符*
才能使正则表达式满意。 但是, \\
是Java字符串中的特殊字符,因此在Java中构建此正则表达式时,还必须转义\\
,因此\\\\*
。
在Java字符串中放置正则表达式时,这经常会导致双重转义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.