java - 字符串替换函数

标签 java string

我有以下字符串

String str = "replace :) :) with some other string";

我想用其他字符串替换第一次出现的 :)

我使用了 str.replaceFirst(":)","hi");

它给出以下异常

"Unmatched closing ')'"

我尝试使用 replace 函数,但它替换了所有出现的 :)

最佳答案

replaceFirst 方法将正则表达式作为其第一个参数。由于 ) 是正则表达式中的特殊字符,因此必须将其引用。尝试:

str.replaceFirst(":\\)", "hi");

双反斜杠是必需的,因为双引号字符串也使用反斜杠作为引号字符。

关于java - 字符串替换函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/298231/

相关文章:

java - TextInputDialog 将 KeyEvent 处理程序分配给编辑器

java - 如何防止 JFrame 关闭

java - 尝试使用 Java SAX 解析 excel xml 文件时出错

java - 使用正则表达式测试 Servlet 中的字符串

c - 将参数传递给生成的进程在 C 中不起作用

java - Openshift + Jenkins在构建期间无法分配内存

java - 对象初始化数组

ruby - 为什么没有 `to_s` 的破坏性版本?

java - 如何指定要包含在子字符串中的字母数(而不是空格)?

java - 将 float 转换为字符串分数表示形式