r - 使用字符串列表在字符串中搜索并返回匹配
问题描述
在 RI 想像标题所说的那样做。在字符列中搜索并返回匹配的单词
As.data.frame(
c("yellow carrot","big car","green tomato","orange car","fertile goat","red snapper")
)
和
c("yellow","red","orange","green","blue")
我想回来
As.data.frame(
cbind(
c("yellow carrot","big car","green tomato","orange car","fertile goat","red snapper"),
c("yellow","NA","green","orange","NA","red")
)
解决方案
我们可以str_extract
用来获取匹配的子串
library(stringr)
df1$new <- str_extract(df1[[1]], paste(vec1, collapse="|"))
df1$new
#[1] "yellow" NA "green" "orange" NA "red"
数据
vec1 <- c("yellow","red","orange","green","blue")
df1 <- data.frame(col1 = c("yellow carrot","big car",
"green tomato","orange car","fertile goat","red snapper"))
推荐阅读
- powershell - Powershell中变量定义的文件路径内的Out-File文本输入
- python - 获取数据框列中的类型列表,跳过 NaN 单元格
- python-3.x - 将答案四舍五入到小数点后两位
- python - 如何实现区分字符串长度和该字符串中的字符的函数
- blockchain - 在连接到 Rinkby 测试网络时,它给了我错误发生不匹配
- reactjs - React Native:如何遍历 XML
- javascript - VueJS (InertiaJS) + Laravel 8 显示多个输入错误
- python - 用正则表达式匹配多行文本
- git - git --version 在终端上显示错误的版本
- r - 如何突出显示R中的点和历史图表