簡體   English   中英

兩個字符串上的 grep

[英]grep on two strings

我正在努力獲取字符串中的兩個不同元素。

字符串看起來像這樣,

str <- c('a_abc', 'b_abc', 'abc', 'z_zxy', 'x_zxy', 'zxy')

我已經嘗試過?grep的不同選項,但我做對了,我正在做這樣的事情,

grep('[_abc]:[_zxy]',str, value = TRUE)

我想要的是,

[1] "a_abc" "b_abc" "z_zxy" "x_zxy"

任何幫助,將不勝感激。

這應該有效: grep('_abc|_zxy', str, value=T)

X匹配或Y匹配時X|Y Y匹配

使用普通括號( ,而不是方括號[

grep('_(abc|zxy)',str, value = TRUE)
[1] "a_abc" "b_abc" "z_zxy" "x_zxy"

為了使grep更加靈活,您可以執行以下操作:

grep('_.{3}$',str, value = TRUE)

這將匹配下划線_后跟任何字符. 三次{3}緊接着是字符串$的結尾

在這種情況下,只需執行以下操作:

str[grep("_",str)]

會工作......在你的具體情況下它更復雜嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM