使用1对打印对

时间:2017-11-08 17:28:02

标签: r stringi

如何用一个替换多个反斜杠?我知道在字符串中,单个反斜杠用\\表示,如下所示:

nchar('\\')
[1] 1

所以我想替换这个字符串中的所有反斜杠:'thre\\\\fd'和一个(打印为两个),当用cat包装时会产生:thre\fd。我认为 stringi 包有一种方法可以轻松完成,但无法弄清楚如何。

MWE(输出不正确)

cat(gsub('\\\\', '\\', 'thre\\\\fd'))
## threfd

所需的Catted输出

thre\fd

2 个答案:

答案 0 :(得分:2)

使用fixed = TRUE参数,我们得到

cat(gsub('\\\\', '\\', 'thre\\\\fd', fixed = TRUE), '\n')
#thre\fd 

cat(gsub('\\\\\\', '\\\\', 'thre\\\\\\fd', fixed = TRUE), '\n')
#thre\\fd 

答案 1 :(得分:-2)

如果所有字符串都有相同数量的斜杠,这是一个非常简单的gsub:

x <- "test\\\\123"
gsub("\\\\","\",x)
output: "test\123"