java - 如何用特殊字符替换字符串的一部分

标签 java string replace

我想用 "\\_\\_\\_\\_\\_" 替换字符串的某个部分

(e.g. String str = "Hello World")

如果我这样做 str.replaceAll("World", "\\_\\_\\_\\_\\_");

我在替换字符串中没有看到 "\" 字符,我希望它会显示 "Hello\_\_\_\_\_"

最佳答案

你需要:

str = str.replaceAll("World", "\\\\_\\\\_\\\\_\\\\_\\\\_");

See it.

\ 是 Java 字符串中的转义字符。因此,要表示文字 \,您需要使用另一个 \ 将其转义为 \\

\ 也是正则表达式引擎的转义字符。因此,Java 字符串中的 \\ 将作为 \ 发送到正则表达式引擎,它不会按字面意思处理,而是用于转义后面的字符。

要将 \\ 传递给正则表达式引擎,您需要在 Java 字符串中包含 \\\\


因为你要用另一个字符串替换一个字符串(不是模式),所以确实不需要正则表达式,你可以使用 replace 方法字符串类为:

input = input.replace("World", "\\_\\_\\_\\_\\_");

See it.

关于java - 如何用特殊字符替换字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4323894/

相关文章:

java - 使用基于 LinkedList 的堆栈反转字符串

c - 文本解析与 .和 : in ANSI C

javascript - 更改按钮图像 onclick

javascript - 修改格式模式以替换字符串中的占位符

java - 生成没有图像的高度图

java - 使用 Java 在没有额外边缘的情况下在 Windows 中截取前台应用程序屏幕截图

java - 构建键值存储

java - 在java中通过多个框架使用变量

python - 关于python中字符串实例唯一性的一个问题

java - 将所有出现的字符串替换为java中的特殊字符