Java:删除字符串中的句号

时间:2013-02-16 10:08:05

标签: java replace

我想删除字符串中的所有句号(。)。

因此我尝试了:inpt = inpt.replaceAll(".", "");, 但它不是仅删除句号,而是删除字符串的全部内容。

是否可以仅删除句号?谢谢你的回答!

5 个答案:

答案 0 :(得分:19)

replaceAll将正则表达式作为参数,正则表达式中的.表示“任何字符”。

您可以改为使用replace

inpt = inpt.replace(".", "");

它将删除.的所有出现。

答案 1 :(得分:9)

请勿使用replaceAll(),请使用replace()

inpt = inpt.replace(".", "");

一种常见的误解是replace()并未替换所有出现的事件,因为有replaceAll()方法,但实际上两者都会替换所有出现的事件。两种方法之间的区别在于replaceAll()匹配正则表达式(正则表达式中的一个点表示“任何字符”,这解释了您遇到的情况)而replace()匹配文字字符串。

答案 2 :(得分:6)

String#replaceAll(String, String)采用正则表达式。点是一个正则表达式元字符,可以匹配任何内容。

使用

inpt = inpt.replace(".", "");

它还会替换inpt中的每个点,但会将第一个参数视为文字序列,请参阅JavaDoc

如果你想坚持正则表达式,你必须逃避点:

inpt = inpt.replaceAll("\\.", "");

答案 3 :(得分:1)

我认为你必须掩盖点

inpt = inpt.replaceAll("\\.", "");

答案 4 :(得分:0)

replaceAll使用正则表达式,请使用以下内容:

inpt = inpt.replaceAll("\\.", "")