Java字符串将问题替换为(,)、等字符,



我正在尝试编写一个程序,读取一个文件并用其他文本替换文件中的一些文本。为此,我使用String.replaceAll方法。正在从.txt文件中读取要替换的字符串。

现在,对于没有任何特殊字符的普通字符串,一切都很好。如果要替换的字符串类似于:

如果是,什么时候

值不正确(应在0-18之间)

然后,该字符串的替换就不会发生。我想是因为characterm和()在此处用作正则表达式。我希望它被用作一个普通字符串,而不是正则表达式。

如果您不必使用正则表达式,那么最好使用String.replace()而不是String.replaceAll(),因为您可以消除所有正则表达式开销。

使用String.replace(),而不是String.replaceAll()

replaceAll()使用regex进行搜索,您遇到问题的字符在regex中有特殊含义。

replace()使用纯文本进行搜索,但仍然替换所有出现的目标。

这是一个常见的错误,表明这些方法的名称不正确,导致了这种混乱。

最新更新