簡體   English   中英

R正則表達式

[英]R regular expression

我有一個像下面的字符串。

testSampe <- "Old:windows\r\nNew:linux\r\n"

我想刪除":""\\"之間的字符串。

像這樣的"Old\\r\\nNew\\r\\n"

我怎樣才能為此構造正則表達式?

我嘗試用正則表達式gsub函數":.*\\\\\\\\" ,它不起作用。

 gsub(":.*\\\\", "\\\\r", testSampe)
> testSampe <- "Old:windows\r\nNew:linux\r\n"
> gsub(":[^\r\n]*", "", testSampe)
[1] "Old\r\nNew\r\n"

您可以選擇一些匹配的不同正則表達式。 請參閱falsetru的答案或使用:

rx <- ":[[:alnum:]]*(?=\\r)"

作為gsub可讀替代方法,請在stringr包中使用str_replace_all

library(stringr)
str_replace_all(testSampe, perl(rx), "")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM