正则匹配长度_R语言--正则表达式的使用思路(base R)

本文介绍了在R语言中使用正则表达式进行字符串操作的方法,包括使用grepl/grep检查存在性,regexpr/gregexpr获取匹配信息,以及sub/gsub进行替换。强调理解相关函数而非仅记住正则语法的重要性。
摘要由CSDN通过智能技术生成

26a251d7ded25877d727964bc78dab05.png

前言:明白正则表达式相关的函数的作用,这比正则表达式本身更为重要。

思路:1.查看字符串中是否有某段字符串。

2.对符合要求的字符串进行替换或者提取。

具体操作:

第一步,查看是否有存在满足要求的字符串。

函数1.grepl()或者grep(),前者返回一个逻辑值,后者返回一个位置。

580f7d05e9fa274bd6d456d69e9cfa12.png

显然,1,3位置是满足的。

函数2.regexpr()返回一个数字,1表示存在,-1表示是不存在;还有所匹配的字符串的长度,类型,但是这个函数只会匹配第一个符合要求的字符串。

另一个例子:

c701428e8e4f54a4a5ad3ca50953b4ab.png

5474f573d95ce12f2920d0664af12705.png

函数3.gregexpr(),这个会匹配所有符合要求的字符串。

fd9b5ac698eaa89ec54f07d436a64452.png
知道位置和长度就可以用substring函数提取了,见下图

第二步,提取字符串

通过grepl()或grep()函数明确目标字符串是否存在,如果存在,再用gregexpr()或regexpr()函数找到得到具体的位置和长度,最后,使用substr()或sbstring()函数提取满足要求的字符串。

7a6b0451839dbd76ffbeacb482da78ac.png
找到之后,用substr和substring函数来提取,注意两者的区别

27a4183a82ad13ba64af90b0167af8af.png

使用regmatches(字符串对象,一个匹配数据的对象),这里的m就相当于高素了起始位置和长度,regmatches()函数就根据这个提取数,其效果和substring()函数一样。

第三步,替换字符串。

sub()和gsub()可以替换,sub()只能替换第一个满足要求的字符串,如果还有其他满足要求的字符串则不能替换,gsub()可以替换所有满足要求的字符串。

23a757658a09fd5197cf812ab17e72ab.png

以上是R基础包中的正则表达式函数,stringr包将另做介绍。

转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值