我有一个带单引号的字符串。我想用 2 个单引号替换单引号。我尝试使用
String s="Kathleen D'Souza";
s.replaceAll("'","''");
s.replaceAll("\'","\'\'");
s.replace("'","''");
s.replace("\'","\'\'");
但是单引号不会被 2 个单引号替换。
我有一个带单引号的字符串。我想用 2 个单引号替换单引号。我尝试使用
String s="Kathleen D'Souza";
s.replaceAll("'","''");
s.replaceAll("\'","\'\'");
s.replace("'","''");
s.replace("\'","\'\'");
但是单引号不会被 2 个单引号替换。
将替换的字符串重新分配给s
String s="Kathleen D'Souza";
s = s.replaceAll("'","''");
请尝试 s="test'test";
`s.replaceAll("'","\"");` => test " test
`s.replaceAll("'","''");` => test '' test
Strings
是不可变的。将结果分配replaceAll
给您的String
:
s = s.replaceAll("'","''");
String s="Kathleen D'Souza";
s= s.replace("'", "''");
尝试字符串#replace()。它将用双 '' 替换所有出现的单 '。
请注意,对于给定的解决方案,连续的单引号将加倍,因此 Kathleen D''Souza 变成 Kathleen D''''Souza。(我见过用户像这样比自己聪明。)如果这是您所关心的,您可以将连续的单引号与:
s = s.replaceAll("''*","''");