首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何替换点(.)在Java中的字符串中

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

Stack Overflow用户
提问于 2011-09-12 03:17:06
回答 4查看 127.1K关注 0票数 88

我有一个名为persons.name的字符串

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

我试过这段代码:

代码语言:javascript
复制
String a="\\*\\";
str=xpath.replaceAll("\\.", a);

我去叫StringIndexOutOfBoundsException。

我如何替换这个点?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-12 03:20:51

您需要在点之前使用两个反斜杠,一个用于转义斜杠以使其通过,另一个用于转义圆点以使其变为原义。正斜杠和星号被视为文字。

代码语言:javascript
复制
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)

票数 151
EN

Stack Overflow用户

发布于 2018-10-16 16:56:37

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

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

代码语言:javascript
复制
str = xpath.replace(".", "/*/");
票数 12
EN

Stack Overflow用户

发布于 2011-09-12 03:52:59

使用Apache Commons Lang

代码语言:javascript
复制
String a= "\\*\\";
str = StringUtils.replace(xpath, ".", a);

或者使用独立的JDK:

代码语言:javascript
复制
String a = "\\*\\"; // or: String a = "/*/";
String replacement = Matcher.quoteReplacement(a);
String searchString = Pattern.quote(".");
String str = xpath.replaceAll(searchString, replacement);
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7380626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档