Java 正则表达式转义撇号

标签 java regex

我不确定为什么这个正则表达式不起作用,我想要实现的目标是给定文本“用户的桌面”,我需要将其转换为“用户的桌面”。

这是我的尝试:

String descrip = "user's desktop";
descrip = descrip.replaceAll("'", "\\'");

但是撇号没有被替换。我做错了什么?

最佳答案

您需要转义反斜杠两次:

String descrip = "user's desktop";
descrip = descrip.replaceAll("'", "\\\\'");

或者最好不要使用正则表达式:

descrip = descrip.replace("'", "\\'");
//=> user\'s desktop

关于Java 正则表达式转义撇号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30243367/

相关文章:

java在调用 instanceof 前需要进行null检查吗

java - 在java中复制文本文件

Regex_replace Postgres - 检查是否 <= 2 个字符长度

python - 使用 RE 查找所有模式

javascript - js 中的正则表达式行

java - ReentrantReadWriteLock 即使其状态为 Unlocked 也无法获得锁定

java - RSA 加密编码使用 Android 解密使用 apache 编解码器问题

java - Android Studio,应用程序将无法运行而不崩溃

php - preg_replace PHP 和

匹配选项卡的正则表达式