我想让像“ ab'”这样的字符串变成“ ab \'”
我尝试了以下代码
aa="ab'"
aa<-gsub("'","\\'",aa)
显示ab'
aa="ab'"
aa<-gsub("'","\\\'",aa)
显示ab'
aa="ab'"
aa<-gsub("'","\\\\'",aa)
显示ab \\'
我不知道如何解决它 请给我一些建议
答案 0 :(得分:0)
对于以下代码:
aa <- "ab'"
aa <- gsub("'", "\\\\'", aa)
实际上,您是用单个文字反斜杠替换单个引号。您会看到ab\\'
的输出,我相信只是显示了一个额外的反斜杠,让您知道它不是转义字符。
请考虑以下代码扩展:
gsub("\\\\", "A", gsub("'","\\\\'",aa))
[1] "abA'"
我们可以清楚地看到替换中只有一个A
,这意味着只有一个反斜杠要替换。
答案 1 :(得分:0)
即使在终端上,有时您也会看到“ \\”它实际上只是“ \”。
使用writeLines()打印结果以查看实际的字符串:
> original_string = "ab'"
> new_string = gsub("'","\\\\",original_string)
> writeLines(new_string)
ab\
有趣的奖励:https://xkcd.com/1638/