替换字符串中的字符

时间:2012-12-14 15:11:09

标签: string r replace

  

可能重复:
  Ignore escape characters (backslashes) in R strings

我想用字符串中的“/”替换字符串中的“\”。例如,初始字符串是“d:\ temp \ 1.txt”,我想要“d:/temp/1.txt”。我尝试使用gsub,但它没有按我的意愿工作。但是,如果我做一个更简单的练习

> gsub("a", "b", "banana")
[1] "bbnbnb"

工作正常。是否有一些技巧使用特殊字符“/”和“\”?

1 个答案:

答案 0 :(得分:2)

@Paul,这不行 - 请参阅R for Windows FAQ。

看看R对反斜杠的作用:

a <- "d:\temp\1.txt"
cat(a)
# d:      emp.txt

逃避... ..

gsub("\\", "/", a)
Fehler in gsub("\\", "/", a) : 
  ungültiger regulärer Ausdruck '\', Grund 'Trailing backslash'

..不起作用..

这样可行:

b <- "d:\\temp\\1.txt"
cat(b)
# d:\temp\1.txt
gsub("\\\\", "/", b)
# "d:/temp/1.txt"