R:条件grep所有出现的字符串

时间:2014-06-01 21:03:30

标签: regex string r grep

我试图根据两个条件解析字符串:

  • /
  • 两侧必须只有1个字符
  • 必须能够解析同一单元格内的所有匹配项

以下是我尝试尝试完成此任务的尝试。除此之外,我无法解析"苹果B / E Greens T / A Parsley"。我想请知道我怎么能不管它出现在哪里都能看到它。

提前致谢。

col.df <- c("N/A", "Apples and Oranges", "H/E Carrots", "Apples B/ E Greens T/A Parsley", "B/E Greens T/A Parsley", "WATER/SODA")

slash.title = "(^[A-Z]{1}/)"
sort(unique(col.df[grep(slash.title, col.df)]))

[1] "B/E Greens T/A Parsley" "H/E Carrots"            "N/A"                   

1 个答案:

答案 0 :(得分:3)

这个怎么样

sort(unique(grep("\\b[A-Z]/[A-Z]\\b", col.df, value=T)))

这里我使用\b表示工作边界。因此,在每个单个字母之前和之前必须有一个空格或字符串的结尾。

返回

[1] "Apples B/ E Greens T/A Parsley" "B/E Greens T/A Parsley"  "H/E Carrots"                   
[4] "N/A"