首页 > 解决方案 > 删除 R 中的字符串模式,同时保留字符串的其余部分

问题描述

我知道之前有人问过这个问题,但我无法找到与我的数据中的情况相媲美的案例。这是我的数据示例:

> 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)

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

标签: rregexgsub

解决方案


尝试以下操作:

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

这将删除所有数字字符。

例子

s <- c("yes111", "no")
stringr::str_replace_all(s, "[0-9]", "")

输出

# "yes" "no" 

推荐阅读