我只想将单引号替换为双引号,但是当我尝试使用regex时,它也将双引号替换为两个双引号。我曾经 ([']) 但对于双引号也返回true。例句:当我通过->不要:它工作正常但当我通过->不要:它没有正常工作,最终输出变成了不要我只想把单引号转换成双引号。我该怎么做?
(['])
epggiuax1#
显然,“双引号”是指“双单引号”。您可以使用以下模式:
(?<!')'(?!')
找到一个没有跟在另一个单引号后面或前面的单引号(使用负lookback和负lookahead)。然后你简单地用 '' .演示。java示例:
''
String s = "don't, don''t"; String output = s.replaceAll("(?<!')'(?!')", "''"); System.out.println(output); // Prints "dont''t don''t"
在线试用。
1条答案
按热度按时间epggiuax1#
显然,“双引号”是指“双单引号”。
您可以使用以下模式:
找到一个没有跟在另一个单引号后面或前面的单引号(使用负lookback和负lookahead)。然后你简单地用
''
.演示。
java示例:
在线试用。