regex - 我无法在 R 中转义反斜杠

标签 regex r

我似乎无法摆脱字符串中的反斜杠 (\)。阅读这个问题的大量不同答案,但似乎没有一个对我有用。考虑以下示例(以下试验取自 stackoverflow 中类似问题的各种答案):

temp = "35:12:34\"}}}\"}"
gsub("\\","",temp)

Error in gsub("\", "", temp) : invalid regular expression '\', reason 'Trailing backslash'

gsub("\\","",temp,fixed=T)

[1] "35:12:34\"}}}\"}"

gsub("\\\\","",temp,fixed=T)

[1] "35:12:34\"}}}\"}"

gsub("([\\])","",temp)

[1] "35:12:34\"}}}\"}"

gsub("([\\])","",temp,fixed=T)

[1] "35:12:34\"}}}\"}"

非常感谢帮助摆脱这个反斜杠。

最佳答案

使用这个

cat(gsub("\\\"","",temp))

它将打印所需的输出,如果您希望将其存储为对象,请使用

text <- capture.output(cat(gsub("\\\"","",temp)))

但是在打印 text 时,引号将再次被转义。但您可以通过 nchar(text)

验证字符数
> text <- capture.output(cat(gsub("\\\"","\"",temp)))
> text
[1] "35:12:34\"}}}\"}"
> cat(text)
35:12:34"}}}"}
> nchar(text)
[1] 14

关于regex - 我无法在 R 中转义反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36122211/

相关文章:

javascript - JS 正则表达式匹配单词,排除斜杠包围的单词

r - R冲积层图中的群冲积层

r - 更改地层图(即多面板图)上的 x 轴限制

r - 创建具有 200 行且无列的空数据框

R ggplot2改变轴的单位

python - 为什么某些正则表达式引擎会在单个输入字符串中匹配 .* 两次?

javascript - 文本区域中空格后@的正则表达式

r - 使用另一个 data.table 子集一个 data.table

c# - 捕获的正则表达式超出预期

regex - 需要 RegExp 帮助 Linux Bash grep 命令过滤掉包含方括号的行