2

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

nchar('\\')
[1] 1

所以我想替换替换这个字符串中的所有反斜杠:'thre\\\\fd'用一个(打印为两个),当用 cat 包裹时会产生:thre\fd。我认为stringi包有一种方法可以轻松地做到这一点,但不知道怎么做。

MWE(不正确的输出)

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

所需的分类输出

thre\fd
4

2 回答 2

2

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

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

cat(gsub('\\\\\\', '\\\\', 'thre\\\\\\fd', fixed = TRUE), '\n')
#thre\\fd 
于 2017-11-08T17:39:19.603 回答
-2

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

x <- "test\\\\123"
gsub("\\\\","\",x)
output: "test\123"
于 2017-11-08T17:33:24.563 回答