如何在 Java 中替换字符串中的点 (.)

2022-08-31 11:31:14

我有一个名为persons.name

我想将DOT替换为,即我的输出将是./*/persons/*/name

我尝试了这个代码:

String a="\\*\\";
str=xpath.replaceAll("\\.", a);

我正在获取 StringIndexOutOfBoundsException。

如何替换点?


答案 1

您需要在点前使用两个反斜杠,一个用于转义斜杠以便它通过,另一个用于转义该点,使其变为字面。正斜杠和星号按字面处理。

str=xpath.replaceAll("\\.", "/*/");          //replaces a literal . with /*/

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceAll(java.lang.String,%20java.lang.String)


答案 2

如果要替换一个简单的字符串,并且不需要正则表达式的功能,则可以只使用 replace,而不是 。replaceAll

replace替换每个匹配的子字符串,但不将其参数解释为正则表达式。

str = xpath.replace(".", "/*/");

推荐