正则表达式问题

Pro*_*mer 4 java regex string

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

jjn*_*guy 15

string.replaceFirst("\\?", yourWord)
Run Code Online (Sandbox Code Playgroud)

这将取代'?'你的代码中第一次出现的a yourWord.

如果要替换每个'?'yourWord再使用string.replaceAll("\\?", yourWord).

有关更多信息,请参阅javadocs.

  • 为了避免混淆(Java)字符串和不变性,我总是尝试将这样的答案用作赋值表达式:`str = str.replaceFirst("\\?",yourWord);` (2认同)

小智 6

作为一般规则,您可以通过使用转义字符(" "")来使用诸如" ?"," *"," ." 等魔术字符中的"魔法" \.

棘手的部分是在Java中,在字符串中,反斜杠是ALREADY用作转义,因此要构造值为" \?" 的Java String ,必须将其编码为" \\?"以便转义转义字符.