我正在努力抓住字符串中的兩個不同元素。grep兩個字符串
字符串這個樣子的,
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兩個字符串
字符串這個樣子的,
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 = TRUE)
[1] "a_abc" "b_abc" "z_zxy" "x_zxy"
爲了使grep
多一點靈活,你可以做這樣的事情:
grep('_.{3}$',str, value = TRUE)
將匹配後跟任意字符下劃線_
.
三次{3}
緊接着字符串$
在這種情況下,只是在做:
str[grep("_",str)]
將工作......是因爲你的具體情況更復雜?
年底這是我的情況有點複雜,我應該已經表明我的問題。儘管感謝您的簡潔回答。 – 2013-03-08 00:13:36
沒問題,貌似現在排序了 – alexwhan 2013-03-08 00:16:11
這應該工作:grep('_abc|_zxy', str, value=T)
X|Y
比賽時,無論是X
匹配或Y
比賽
'|'原因,謝謝! – 2013-03-08 00:11:47
謝謝,我真的很喜歡你的迴應。 – 2013-03-08 00:16:15