java获取从字符串中单词_R使用模式匹配从字符串中提取单词

这是一种 stringr 方法 . 正则表达式匹配 AA 前面有空格或字符串 (?<=^| ) 的开头,然后匹配尽可能少的字符 .*? 直到下一个空格或字符串 (?=$| ) 的结尾 . 请注意,您可以将所有字符串组合到一个向量中,并返回一个向量 . 如果你想要每个字符串的所有匹配项,那么使用 str_extract_all 而不是 str_extract ,你会得到一个包含每个字符串向量的列表 . 如果要指定多个匹配项,请使用选项和捕获组 (AA|BB) ,如图所示 .

mytext

as.character("HORSE MONKEY LIZARD AA12345 SWORDFISH"), # Return AA12345

as.character("ELEPHANT AA100 KOALA POLAR.BEAR"), # Want to return AA100,

as.character("AA3273 ELEPHANT KOALA POLAR.BEAR"), # Want to return AA3273

as.character("ELEPHANT KOALA POLAR.BEAR AA5785"), # Want to return AA5785

as.character("ELEPHANT KOALA POLAR.BEAR"), # Want to return nothing

as.character("ELEPHANT AA12345 KOALA POLAR.BEAR AA5785") # Can return only AA12345 or both

)

library(stringr)

mytext %>% str_extract("(?<=^| )AA.*?(?=$| )")

#> [1] "AA12345" "AA100" "AA3273" "AA5785" NA "AA12345"

mytext %>% str_extract_all("(?<=^| )AA.*?(?=$| )")

#> [[1]]

#> [1] "AA12345"

#>

#> [[2]]

#> [1] "AA100"

#>

#> [[3]]

#> [1] "AA3273"

#>

#> [[4]]

#> [1] "AA5785"

#>

#> [[5]]

#> character(0)

#>

#> [[6]]

#> [1] "AA12345" "AA5785"

as.character("TULIP AA999 DAISY BB123") %>% str_extract_all("(?<=^| )(AA|BB).*?(?=$| )")

#> [[1]]

#> [1] "AA999" "BB123"

由reprex package(v0.2.0)于2018-04-29创建 .

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值