字符串函数 - replaceAll不适用于"。"

时间:2015-03-17 09:28:58

标签: java string

我正在通过replaceAll功能。我有以下字符串:

String str = "com.sac.src.abc.def";

我必须用/替换所有点。所以我试过

str.replaceAll(".","/");   

但我得到的是,我的字符串转换为 -

///////////////////////////////////////////////////////

我不知道出了什么问题。

5 个答案:

答案 0 :(得分:1)

.表示“任何角色”。你需要逃脱它:

"\\."

答案 1 :(得分:1)

使用替换方法,而不是replaceAll,如:

str.replace(".","/");

“”。是REGEX世界中的一个特殊字符,replaceAll将regex作为方法中的第一个输入参数。由于您尚未使用正则表达式,请使用替换方法。

答案 2 :(得分:0)

.特殊字符匹配任何单个字符。你必须使用\\.来逃避它。

答案 3 :(得分:0)

您需要使用.\\..表示任何角色。

str.replaceAll("\\.","/");   

Read more

答案 4 :(得分:0)

由于dot(.)匹配任何字符,你需要在点之前有两个反斜杠,一个用于逃避斜线以便它通过,另一个用于转义点以使其成为字面值。

String str = "com.sac.src.abc.def";
System.out.println(str.replaceAll("\\.","/"));