前言:明白正则表达式相关的函数的作用,这比正则表达式本身更为重要。
思路:1.查看字符串中是否有某段字符串。
2.对符合要求的字符串进行替换或者提取。
具体操作:
第一步,查看是否有存在满足要求的字符串。
函数1.grepl()或者grep(),前者返回一个逻辑值,后者返回一个位置。
显然,1,3位置是满足的。
函数2.regexpr()返回一个数字,1表示存在,-1表示是不存在;还有所匹配的字符串的长度,类型,但是这个函数只会匹配第一个符合要求的字符串。
另一个例子:
函数3.gregexpr(),这个会匹配所有符合要求的字符串。
第二步,提取字符串
通过grepl()或grep()函数明确目标字符串是否存在,如果存在,再用gregexpr()或regexpr()函数找到得到具体的位置和长度,最后,使用substr()或sbstring()函数提取满足要求的字符串。
使用regmatches(字符串对象,一个匹配数据的对象),这里的m就相当于高素了起始位置和长度,regmatches()函数就根据这个提取数,其效果和substring()函数一样。
第三步,替换字符串。
sub()和gsub()可以替换,sub()只能替换第一个满足要求的字符串,如果还有其他满足要求的字符串则不能替换,gsub()可以替换所有满足要求的字符串。
以上是R基础包中的正则表达式函数,stringr包将另做介绍。
转载请注明出处。