将"\"替换为使用String的replace()的任何其他字符

use*_*179 8 java string replace special-characters

我不能用String做一个简单的操作,用'替换''.

示例:t'est\'- >t'est*

我尝试过使用replace和replaceAll方法:

String s的值为: "t'est\'";

s.replaceAll("\'", "*"); -> result: t*est*
s.replaceAll("\\'", "*"); -> result: t*est*
s.replaceAll("\\\'", "*"); -> result: t*est*
s.replaceAll("\\\\'", "*"); -> result: t'est'

s.replace("\'", "*"); -> result: t'est'
s.replace("\\'", "*"); -> result: t'est'
s.replace("\\\'", "*"); -> result: t'est'
s.replace("\\\\'", "*"); -> result: t'est'
Run Code Online (Sandbox Code Playgroud)

但在任何情况下我都没有得到结果.

ama*_*loy 9

你确定它的价值s吗?'不是一个有意义的转义字符,所以如果你写String s = "t'est\'",那s将是唯一的值"t'est'".要包含附加\字符,您需要通过编写来转义它String s = "t'est\\'".然后,我认为"\\\\'"将是用于查找它的正则表达式.

  • @ user3057179如果你在控制台中看到这个字符串:`t'est \'`,那么在java文件中它应该写成如下:String s ="t \'\ test \\\'"; 或String s ="t'est \\'"; (2认同)

Mik*_*her 0

你不需要逃避'只需写

s.replace("'", "*");
Run Code Online (Sandbox Code Playgroud)

来替换 '


编辑:

如果你想匹配 \' 你应该尝试

s.replace("\\'", "*");
Run Code Online (Sandbox Code Playgroud)

第一个反斜杠将转义第二个反斜杠,并且 ' 将保持“未转义”