正则表达式问题

时间:2009-07-20 20:38:13

标签: java regex string

我想用一些其他单词替换字符串中的问号(?)。问号的正则表达式是什么。 例如,我想替换“word =?”中的问号对其他事情,说“stackoverflow”。然后结果将是“word = stackoverflow”。 java中的语法是什么?

2 个答案:

答案 0 :(得分:15)

string.replaceFirst("\\?", yourWord)

这将替换代码中'?'的第一次出现,而不是yourWord

如果您想用'?'替换每个yourWord,请使用string.replaceAll("\\?", yourWord)

有关详细信息,请参阅javadocs

答案 1 :(得分:6)

作为一般规则,您可以使用“?”,“*”,“.”等魔术字符中的“魔法”,等等转义字符,即反斜杠(“\”)。

棘手的部分是在Java中,在字符串中,反斜杠是ALREADY用作转义符,因此要构造值为“\?”的Java String,必须将其编码为“{{ 1}}“以逃避转义字符。