如何逃避R中的反斜杠?

Pau*_*nel 22 r backslash stringr

我在R工作,遇到麻烦逃避反斜杠.我正在使用图书馆stringr.

install.packages("stringr", repos='http://cran.us.r-project.org')
library("stringr")
Run Code Online (Sandbox Code Playgroud)

我想要做 str = str_replace_all(str, "\", "")

所以我试过str = str_replace_all(str, "\\", "")但它不起作用.

我该怎么办?

Pau*_*nel 16

我找到了一个有效的解决方案

str = gsub("([\\])","", str)
Run Code Online (Sandbox Code Playgroud)

  • 根据我的评论,使用`"\\\\"`作为模式也可以(使用`gsub`或`str_replace_all`). (15认同)
  • `gsub("\\","",str,fixed = TRUE)`也可以.你只需要记住在R中,`\\`只有一个字符.尝试以下方法:`x < - "my \\ strin \\ g \\ with \\ slashes"; 打印(X); 猫(X)`. (2认同)
  • 在 RE 中,\\ 匹配 \。由于您需要将每个 \ 转义为 R 将其理解为 \,因此您需要使用 `gsub("\\\\","", str)`。 (2认同)

Ram*_*ath 7

使用Hmisc::escapeRegexHmisc::escapeBS自动转义反斜杠和其他正则表达式特殊字符.

  • 甚至`Hmisc` 也不会让你完全`escapeBS`,因为最终BS 是不可避免的(尤其是在编程中,而在R 中则是`rep('special', 2)`)。 (2认同)