近来做作业用到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语言字符操作的例子,配合使用这三个函数可以实现很强大的功能。