首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从字符串中提取文本名称

从字符串中提取文本名称
EN

Stack Overflow用户
提问于 2013-04-03 12:54:44
回答 5查看 1.5K关注 0票数 1

我有一列,值为

“红龙虾CA04606”或“红龙虾NewYork WY245”n等等

我如何才能从其中提取出Red Lobster或Red Lobster NewYork的名称。我正在尝试使用stringr包。

有没有一种方法可以检查它是否只包含文本,并且可以忽略其中包含数字的值?

任何帮助都是非常感谢的。谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-04-03 13:09:34

既然你正在尝试使用stringr,我推荐你使用str_extract (即使你不想使用stringr,我也会推荐它):

代码语言:javascript
复制
x <- c('RED LOBTSER CA04606', 'Red Lobster NewYork WY245')
str_extract(x, '[a-zA-Z ]+\\b')
# [1] "RED LOBSTER "          "Red Lobster NewYork "

正则表达式中的'\b‘阻止'CA’'CA04606‘被提取。

如果您不喜欢这个尾随空格,可以使用str_trim将其删除,也可以修改正则表达式:

代码语言:javascript
复制
str_extract(x, '[a-zA-Z]+(?: +[a-zA-Z]+)*\\b')
# [1] "RED LOBSTER"          "Red Lobster NewYork"

注意-如果您的字符串在post代码后有非数字,则上述代码仅返回之前的单词。所以在下面的例子中,如果你想得到'WY245‘后面的'NewYork’,你可以使用str_extract_all并将结果粘贴在一起:

代码语言:javascript
复制
x <- c(x, 'Red Lobster WY245 NewYork')
str_extract_all(x, '[a-zA-Z]+(?: +[a-zA-Z]+)*\\b')
# [[1]]
# [1] "RED LOBSTER"
# 
# [[2]]
# [1] "Red Lobster NewYork"
# 
# [[3]]
# [1] "Red Lobster" "NewYork"    

# Paste the bits together with paste(..., collapse=' ')
sapply(str_extract_all(x, '[a-zA-Z]+(?: +[a-zA-Z]+)*\\b'), paste, collapse=' ')
# [1] "RED LOBSTER"          "Red Lobster NewYork" "Red Lobster NewYork"
票数 3
EN

Stack Overflow用户

发布于 2013-04-03 13:02:40

试试gsub

代码语言:javascript
复制
> x <- "RED LOBSTER CA04606"
> gsub("\\S*\\d+\\S*",'', x)
[1] "RED LOBSTER "

> x<-"Red Lobster NewYork WY245"
> gsub("\\S*\\d+\\S*",'', x)
[1] "Red Lobster NewYork "

> x<-"Red Lobster NewYork WY245 BLUE LOBSTER CA04606"
> gsub("\\S*\\d+\\S*",'', x)
[1] "Red Lobster NewYork  BLUE LOBSTER "
票数 3
EN

Stack Overflow用户

发布于 2013-04-03 13:02:15

结合使用strsplitgrepl

代码语言:javascript
复制
 sapply(strsplit(x, ' '), function(x) paste(x[!grepl('[[:digit:]]',x)], collapse = ' '))

这将按空格拆分,然后测试是否有拆分向量的数字,并且只将没有数字的数字粘贴在一起。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15779145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档