java替换所有悬空元字符
我有一个字符串,比如说1++++----2
,我想用一个特定的字符串来替换++++----
,比如说string
。
我使用java函数replaceAll
,但每次使用它时,它都会发出警告悬挂元字符:
mystring.replaceAll("++++----", "string");
你可以在下面搜索框中键入要查询的问题!
我有一个字符串,比如说1++++----2
,我想用一个特定的字符串来替换++++----
,比如说string
。
我使用java函数replaceAll
,但每次使用它时,它都会发出警告悬挂元字符:
mystring.replaceAll("++++----", "string");
# 1 楼答案
逃逸
+
,这里只有第一个或全部不重要输出:
或者使用
replaceAll
,因为它是用来:# 2 楼答案
replaceAll
的第一个参数采用正则表达式,+
在正则表达式中具有特殊意义。Escape+
使其正常工作# 3 楼答案
您可以使用以下正则表达式:
因为
+
是一个正则字符,所以需要对其进行转义。因此在这里"\\++-+"
中,第一部分\\+
将与字符+
字面匹配,第二部分+
将与字符+
的一个或多个组合匹配,其余部分是-+
,将与一个或多个-
匹配# 4 楼答案
替换固定字符串时,需要一个
replace
函数:见demo
否则,您需要一个带有
replaceAll
的正则表达式注意,您不需要在正则表达式字符类中转义
+
,这在Java中很方便