首页 > 解决方案 > 如何从R中的字符中删除反斜杠?

问题描述

我不敢相信这这么难。

t1 <- "1\2\3\4\5"

什么行不通。

t1 <- gsub('\\','', t1)
t1 <- gsub('\\\\','', t1)
str_remove(t1, "\\")
str_remove(t1, "\\\\")

什么也不起作用:

  1. 正则表达式删除所有非字母数字字符。(这是一个例子,文本比这更复杂 - HTML/Javascript/SVG)。

PS:我确实在这里和伯克利教授的书中看过类似问题的其他答案。不会工作。

标签: rstringreplace

解决方案


实际上,您的第二次尝试gsub实际上是正确的:

t1 <- gsub("\\\\", "", t1)

正则表达式中的文字反斜杠需要四个反斜杠(文字反斜杠各两个,其中一个需要转义另一个反斜杠)。以上似乎不起作用的原因是字符串t1定义不正确。您应该将其定义为:

t1 <- "1\\2\\3\\4\\5"
gsub("\\\\", "", t1)
[1] "12345"

R 字符文字中的文字反斜杠需要两个反斜杠。您最初定义t1的实际上是一堆控制字符:

t1 <- "1\2\3\4\5"

推荐阅读