【发布时间】:2013-12-31 14:35:23
【问题描述】:
我需要转义字符串中的所有引号('),所以它变成\'
我尝试过使用 replaceAll,但它什么也没做。由于某种原因,我无法让正则表达式工作。
我正在尝试
String s = "You'll be totally awesome, I'm really terrible";
String shouldBecome = "You\'ll be totally awesome, I\'m really terrible";
s = s.replaceAll("'","\\'"); // Doesn't do anything
s = s.replaceAll("\'","\\'"); // Doesn't do anything
s = s.replaceAll("\\'","\\'"); // Doesn't do anything
我真的被困在这里,希望有人可以在这里帮助我。
谢谢,
伊万
【问题讨论】:
-
如果您还没有考虑过这一点,如果输入来自用户,您可能还想先用双反斜杠替换任何反斜杠。就像如果用户输入
"You are 'awesome'\'amazing'",那么您当前会得到"You are \'awesome\'\\'amazing\'"。这使得第三个引号没有转义,因为用户输入的反斜杠正在转义它之后生成的反斜杠!
标签: java regex string replaceall