2013-02-08 34 views
3

我想隔離R中字符串的一部分。字符串的形式爲ABC_constantStuff_ABC_randomStuffABC就是我想要提取的。 ABC是未知的,可以是1-3個字符長。我一直在試圖grepgsub但我不確定如何指定使用修整R中的字符串

str <- 'GDP\" title=\"GDP - News\"></a>"' 
symbol <- gsub(pattern,'',str) 

這裏我的正則表達式GDP是未知的,可能是1-3個字符長,\" title=\"是在每一個字符串常量,我想刪除\" title=\"GDP - News\"></a>"

感謝您提前幫助。

+1

如果你解析HTML,請務必閱讀http://stackoverflow.com/a/1732454/16632 – hadley 2013-02-08 16:41:53

+0

感謝您的鏈接。 xml包是我正在尋找的。 – 2013-02-10 18:08:09

回答

4

下一個簡單的

R> gsub("^([A-Z]*)_.*", "\\1", "ABC_constantStuff_ABC_randomStuff") 
[1] "ABC" 
R> 

它可以獲取所有字母到第一_

另外一個assumming _是你的分隔符是

R> strsplit("ABC_constantStuff_ABC_randomStuff", "_")[[1]][c(1,3)] 
[1] "ABC" "ABC" 
R> 
3

這有幫助嗎?

> sub("\".*$", "", str) 
+0

+1好主意。順便說一句:在這種情況下,簡單的'sub'就足夠了。 – 2013-02-08 15:03:48