我有一个如下字符串。
testSampe <- "Old:windows\r\nNew:linux\r\n"
我想删除":"
和"\"
之间的字符串。
喜欢这个"Old\r\nNew\r\n"
。
我如何为此构建正则表达式?
我尝试使用正则表达式":.*\\\\"
进行gsub功能,但它不起作用。
gsub(":.*\\\\", "\\\\r", testSampe)
答案 0 :(得分:4)
> testSampe <- "Old:windows\r\nNew:linux\r\n"
> gsub(":[^\r\n]*", "", testSampe)
[1] "Old\r\nNew\r\n"
答案 1 :(得分:2)
您可以选择一些匹配的不同正则表达式。请参阅falsetru的答案或使用:
rx <- ":[[:alnum:]]*(?=\\r)"
作为gsub
的更具可读性的替代方案,请在str_replace_all
包中使用stringr
。
library(stringr)
str_replace_all(testSampe, perl(rx), "")