r - 从列表中选择元素

标签 r regex

我有一个列表中的名称列表,例如:

site<-list("site2-site22" ,"site2-site45", "site4-site2", "site6-site2",
           "site9-site27", "site20-site150", "site25-site272", "site32-site47",
           "site62-site74", "site272-site280")

从列表中,我需要选择其中包含 site2 的元素,无论是之前还是之后 -

当我使用 grep 命令时如下:

grep("site2",site,value=T)

它为我提供了从 site2 开始的所有值,即我的结果如下:

"site2-site22"    "site2-site45"    "site4-site27"    "site9-site27" 
"site20-site150"  "site25-site272"  "site272-site280"

我怎样才能只从列表中选择site2?

最佳答案

我确信还有很多其他方法可以使用正则表达式来执行此操作,但这个简单的方法有效:

grep("^site2-|-site2$",site,value=T)

关于r - 从列表中选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7087595/

相关文章:

r - 单击同一按钮之间的时间间隔 - shiny R

java - 如何获取字符串中正则表达式的第一个匹配项?

javascript - 带星号的正则表达式电话号码

java - 匹配 3 个或更多连续连续字符和连续相同字符的正则表达式

c# - 查找特定格式的字符串在给定文本中出现的次数

php - 正则表达式匹配以 %% 开头和结尾的字符串

r - 将子组标签添加到ggplot2中的抖动图

r - data.table list .N (count) 完全删除行而不是输入 0 计数

javascript - R Shiny - 带有点击事件的桑基图

regex - 从数字部分字符串中删除逗号