繁体   English   中英

在R中使用gsub将\\替换为//

[英]Replace \ into // using gsub in R

我正在尝试使用gsub函数将x变量数据E:\\testCSV.csvE://testCSV.csv

> x
[1] "E:\testCSV.csv"
> gsub("\", "//", x, fixed = TRUE)
Error: unexpected '/' in "gsub("\", "//"

尝试了转义字符串的所有组合,包括方括号[] ,均未成功。 请建议

我们可能需要

sub("^([^:]+\\:).(.*)", "\\1//t\\2", str1)
#[1] "E://testCSV.csv"

它不起作用的原因是因为t被转义,即代表制表符( \\t )。 要检查它,我们可以使用cat

cat(str1, sep="\n")
#E:      estCSV.csv

通常,如果在R中没有任何意义,我们将无法创建带有单个\\的字符串。

str2 <- "E:\zestCV.csv"
#Error: '\z' is an unrecognized escape in character string starting ""E:\z"

我们需要再转义\\

str2 <- "E:\\zestCV.csv"
str2
#[1] "E:\\zestCV.csv"

要替换它,OP应该显示的方法(略有不同)应该起作用。

sub("\\\\", "//", str2)
#[1] "E://zestCV.csv"

数据

str1 <-  "E:\testCSV.csv"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM