删除R中的字符串模式,同时保留其余字符串

问题描述 投票:0回答:1

我知道以前曾有人问过这个问题,但是我无法在我的数据中找到与之相当的案例。这是我的数据示例:

> head(dataraw)
   success                       2 day pre during      time observator
1:      no dry, but with some snow showers    dry 2/23/2015     JvD&OK
2:  yes001 dry, but with some snow showers    dry 2/23/2015     JvD&OK
3:  yes004 dry, but with some snow showers    dry 2/23/2015     JvD&OK
4:  yes004 dry, but with some snow showers    dry 2/23/2015     JvD&OK
5:      no dry, but with some snow showers    dry 2/23/2015     JvD&OK
6:      no dry, but with some snow showers    dry 2/23/2015     JvD&OK

success栏中,我想删除"yes"之后的所有数字。我虽然使用了以下行,但是行不通:

dataraw$success <- gsub('0**', '', dataraw$success)

有人可以让我走上正确的路吗?

r pattern-matching gsub
1个回答
0
投票

尝试以下操作:

dataraw$success <- stringr::str_remove(dataraw$success, "[^(yes|no)].+")

dataraw$success  <- stringr::str_replace_all(dataraw$success, "[0-9]", "")

示例

s <- c("yes111", "no")
str_remove(s, "[^(yes|no)].+")

输出

# "yes" "no" 
© www.soinside.com 2019 - 2024. All rights reserved.