2017-01-13 228 views
-2

我找到了類似的問題here,但它並未真正回答我的問題。在R中拆分字符串並在兩個符號中拆分字符

我有一個這樣的字符串:

{a,b,c,d}{e,f,g,h}

而且我想這個字符串分割成兩個向量:a,b,c,de,f,g,h

我怎麼能在R中做到這一點?

非常感謝你,

+1

你至少試過解決方案嗎?請發佈您的代碼並描述出了什麼問題。 –

回答

0

您需要兩次分割你的字符串:

split1 <- setdiff(strsplit("{a,b,c,d}{e,f,g,h}", "[{}]")[[1]], "") # setdiff permits to suppress the 2 empty strings generated 
split1 
#[1] "a,b,c,d" "e,f,g,h" 

strsplit(split1, ",") 
#[[1]] 
#[1] "a" "b" "c" "d" 
#[[2]] 
#[1] "e" "f" "g" "h" 

2次分裂後,你得到的載體列表你想

1

另一種方式:

regmatches(txt, gregexpr("(?<={)[^}]+", txt, perl=TRUE))

請參閱here.

+0

按照這種方法,regmatches(txt,gregexpr(「(?<= {)[^}] +」,txt,perl = TRUE))'就足夠了。 –

+0

太棒了,謝謝! –