我有一个名为persons.name
的字符串
我想用/*/
替换DOT .
,即我的输出将是persons/*/name
我试过这段代码:
String a="\\*\\";
str=xpath.replaceAll("\\.", a);
我去叫StringIndexOutOfBoundsException。
我如何替换这个点?
发布于 2011-09-12 03:20:51
您需要在点之前使用两个反斜杠,一个用于转义斜杠以使其通过,另一个用于转义圆点以使其变为原义。正斜杠和星号被视为文字。
str=xpath.replaceAll("\\.", "/*/"); //replaces a literal . with /*/
发布于 2018-10-16 16:56:37
如果你想替换一个简单的字符串,并且你不需要正则表达式的能力,你可以只使用replace
,而不是replaceAll
。
replace
将替换每个匹配的子字符串,但不会将其参数解释为正则表达式。
str = xpath.replace(".", "/*/");
发布于 2011-09-12 03:52:59
String a= "\\*\\";
str = StringUtils.replace(xpath, ".", a);
或者使用独立的JDK:
String a = "\\*\\"; // or: String a = "/*/";
String replacement = Matcher.quoteReplacement(a);
String searchString = Pattern.quote(".");
String str = xpath.replaceAll(searchString, replacement);
https://stackoverflow.com/questions/7380626
复制相似问题