Java字符串替换问题,如(,),?

Java字符串替换问题,如(,),?,java,regex,string,Java,Regex,String,我正试图编写一个程序,在这个程序中,我正在读取一个文件,并用其他文本替换文件中的一些文本。为此,我正在使用String.replaceAll方法。正在从.txt文件读取要替换的字符串 现在,对于普通字符串,没有任何特殊字符,一切正常。如果要替换的字符串类似于: 如果是,什么时候? 或 该值不正确(应在0-18之间) 这样,就不会替换该字符串。我想这是因为这里使用了?字符m和()作为正则表达式。我希望它是一个普通的字符串,而不是正则表达式。如果你不必使用正则表达式,最好使用它而不是string.r

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

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

如果是,什么时候?

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


这样,就不会替换该字符串。我想这是因为这里使用了字符m和()作为正则表达式。我希望它是一个普通的字符串,而不是正则表达式。

如果你不必使用正则表达式,最好使用它而不是
string.replaceAll()
,因为你摆脱了所有的正则表达式开销。

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

replaceAll()
使用正则表达式进行搜索,您遇到问题的字符在正则表达式中有特殊含义

replace()


这是一个常见的错误,表明这些方法的名称不正确,从而导致此类混淆。

显示您正在使用的代码。您始终可以使用反斜杠对正则表达式中具有特殊含义的字符进行转义,例如
\(
而不是
)。