[英]Java Regular expression special characters
我想用x
代替xx*
。
我尝试过string.replaceAll("xx*", "x");
但是在正则表达式中*
是特殊的,所以我需要给一个\\*
但在Java中给一个\\
我需要给\\\\
==>最后,它应该可以使用string.replaceAll("xx\\\\*", "x");
但是当字符串包含xx*
,以上语句无法将xx*
替换为x
您必须将replaceAll()
调用的结果重新分配给字符串变量-该方法返回一个新字符串,而不是修改您调用它的字符串。
不要使用replaceAll()
! 处理文字字符串时,请使用replace()
:
string = string.replace("xx*", "x");
字符串是不可变的。 将replaceAll
的结果分配给原始值
string = string.replaceAll("xx\\*", "x");
string.replaceAll("xx\\\\*", "x")
不会更改给定的字符串,因为字符串在Java中是不可变的。 您需要使用返回的值,例如,将其分配回原始变量: string = string.replaceAll("xx\\\\*", "x")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.