如何使用tidyverse筛选字符串变量中以字母开头的值?
使用tidyverse过滤不以字母开头的字符元素
你可以借助tidyverse中的字符串处理函数实现需求,核心是用正则表达式匹配以字母开头的元素:
- 先加载tidyverse包:
library(tidyverse)
- 定义字符向量并执行过滤:
df <- c("_oun_", "0000ff", "03815", "?3jhdb", "test", "1,000", "1.000") # 直接筛选符合条件的元素 result <- df %>% str_subset("^[A-Za-z]")
运行后result的输出就是"test"。
补充说明:
str_subset()函数会直接返回向量中匹配正则表达式的元素- 正则
^[A-Za-z]的含义是:^匹配字符串开头,[A-Za-z]匹配任意大小写字母,合起来就是筛选以字母开头的元素
如果你的数据是数据框格式,也可以用filter()结合str_detect()处理:
tibble(content = df) %>% filter(str_detect(content, "^[A-Za-z]")) %>% pull(content)
内容的提问来源于stack exchange,提问作者ECII
相关产品推荐
相关产品推荐

