This question already has answers here:
How to escape text for regular expression in Java
(8个答案)
4年前关闭。
我不确定为什么该正则表达式不能正常工作,我要实现的目标是给定文本“用户的桌面”,我需要将其转换为“用户的桌面”。
这是我的尝试:
但是撇号不会被替换。我究竟做错了什么?
或最好不要使用正则表达式:
(8个答案)
4年前关闭。
我不确定为什么该正则表达式不能正常工作,我要实现的目标是给定文本“用户的桌面”,我需要将其转换为“用户的桌面”。
这是我的尝试:
String descrip = "user's desktop";
descrip = descrip.replaceAll("'", "\\'");
但是撇号不会被替换。我究竟做错了什么?
最佳答案
您需要两次转义反斜杠:
String descrip = "user's desktop";
descrip = descrip.replaceAll("'", "\\\\'");
或最好不要使用正则表达式:
descrip = descrip.replace("'", "\\'");
//=> user\'s desktop
09-19 19:34