[英]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.