我有一个名为persons.name
的字符串。
我想用/*/
替换掉句号.
,即我的输出将是persons/*/name
。
我尝试了这段代码:
String a="\\*\\";
str=xpath.replaceAll("\\.", a);
我遇到了StringIndexOutOfBoundsException异常。
我该如何替换句点(dot)?
我有一个名为persons.name
的字符串。
我想用/*/
替换掉句号.
,即我的输出将是persons/*/name
。
我尝试了这段代码:
String a="\\*\\";
str=xpath.replaceAll("\\.", a);
我遇到了StringIndexOutOfBoundsException异常。
我该如何替换句点(dot)?
在点号之前需要两个反斜杠,一个用于转义反斜杠以使其通过,另一个用于转义点号以使其成为文字字面量。正斜杠和星号会被视为文本字面量。
str=xpath.replaceAll("\\.", "/*/"); //replaces a literal . with /*/
xpath.replaceAll("\\\\.", "/*/")
吗? - ha9u63a7replace
而不是replaceAll
。
replace
会替换每个匹配的子字符串,但不会将其参数解释为正则表达式。str = xpath.replace(".", "/*/");
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);
返回 sentence.replaceAll("\s",".");