[英]gsub replace text after set of characters
我有很多錯誤消息正在嘗試清理。
一些錯誤以文本"(sec): 0.xxx"
結尾,我正在嘗試使用gsub刪除(sec)之后的所有內容
data$Message <- gsub("(sec).*", "", data$Message, perl = TRUE)
這將返回(
我知道只使用“:”或“)”會很容易,但是這樣會影響我不想更改的其他錯誤。
有沒有一種方法可以使用gsub來查看多個字符(例如“(sec)”)而不是一個? 在相關注釋上是否有一個符號,表示與“。”相似的任何數字(不包括文字)?
您可以在 ?<=
之后使用regex look來避免sec
被刪除,同時斷言被刪除的模式遵循sec
,因此(?<=sec\\\\)).*
將在sec)
本身而不是sec)
之后刪除所有內容:
gsub("(?<=sec\\)).*", "", "(sec): 0.xxx", perl = TRUE)
# [1] "(sec)"
您可以選擇表達式的第一部分(在方括號之間),而忽略其余部分:
gsub('(^.*\\(sec\\)).*', '\\1', '(sec): 0.xxx')
## [1] "(sec)"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.