用另一个单引号替换字符串中的单引号

时间:2013-02-22 05:08:13

标签: java

我有一个单引号的字符串。我想用2个单引号替换单引号。 我尝试使用

 String s="Kathleen D'Souza";

s.replaceAll("'","''");

s.replaceAll("\'","\'\'");

s.replace("'","''");

s.replace("\'","\'\'");

但单引号并没有被2个单引号取代。

5 个答案:

答案 0 :(得分:5)

将替换后的字符串重新分配给s

String s="Kathleen D'Souza";
s = s.replaceAll("'","''");

答案 1 :(得分:2)

请尝试 s =“test'test”;

`s.replaceAll("'","\"");`     => test " test

`s.replaceAll("'","''");`     => test '' test

答案 2 :(得分:0)

Strings是不可变的。将replaceAll的结果分配给您的String

s = s.replaceAll("'","''");

答案 3 :(得分:0)

String s="Kathleen D'Souza";
s= s.replace("'", "''");

尝试String#replace()。它将取代所有出现的单个'with double''。

答案 4 :(得分:0)

请注意,在给定的解决方案中,连续的单引号将加倍,因此Kathleen D''Souza变成了Kathleen D'''Souza。 (我看到用户会像这样智取自己。)如果这是你关心的事情,你可以将连续的单引号与:

相匹配
 s = s.replaceAll("''*","''");