近來做作業用到R語言,發現R語言有一些非常簡單但是有用的字符串操作,這里將我所用到的簡單總結一下。
1. grep()函數
與linux中的shell命令grep類似,就是查詢一個字符串中模式串,其形式化定義中參數比較多,一般我們要用到的其實可以簡化為:grep(pattern, text)
其中pattern是你需要匹配的模式串,而text是對象文本,舉個例子吧:
> grep('bc','abcdefg')
[1] 1
[1]代表查找成功,為了解釋后面那個1是什么意思我們再來看一個例子:
str<-c("abcbcd","acbde","abc","cdefgh")
> grep('bc',str)
[1] 1 3
str是一個字符串向量,而使用grep之后,返回了1,3,很明顯,代表向量str的第一個和第三個分量中包含模式串bc
2. strsplit()函數
string<-'abcdefg'
> strsplit(string, 'bc')
[[1]]
[1] "a" "defg"
從這個例子應該看出strsplit用法其實很簡單,第一個參數是待分割的字符串,第二個參數是要分割點,得到的結果就是分割后的字符串
3. gsub()函數
這個函數的用法很簡單,一般我們的用法是:gsub(pattern, replacement, x),其中pattern是我們需要提取的字串的模式,replacement代表把其他的部分填充為什么,而x是原來的字符串,下面看個例子:
> string<-'dasfasd893284dasf'
> gsub('[^0-9]','',string)
[1] "893284"
> gsub('[^0-9]','a',string)
[1] "aaaaaaa893284aaaa"
以上總結了幾個實際使用中碰到的非常簡單的R語言字符操作的例子,配合使用這三個函數可以實現很強大的功能。
