我想删除字符串中的所有句号(。)。
因此我尝试了:inpt = inpt.replaceAll(".", "");
,
但它不是仅删除句号,而是删除字符串的全部内容。
是否可以仅删除句号?谢谢你的回答!
答案 0 :(得分:19)
答案 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("\\.", "")