加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – R – gsub特定位置的特定字符

发布时间:2020-12-14 05:56:09 所属栏目:百科 来源:网络整理
导读:我想删除变量的最后一个字符. 我想知道是否可以用gsub选择位置并删除该特定位置的字符. 在这个例子中,我想删除E之后的最后一个数字,用于我的4个变量. variables = c('B10243E1','B10243E2','B10243E3','B10243E4')gsub(pattern = '[[:xdigit:]]{8}.',replace
我想删除变量的最后一个字符.
我想知道是否可以用gsub选择位置并删除该特定位置的字符.

在这个例子中,我想删除E之后的最后一个数字,用于我的4个变量.

variables = c('B10243E1','B10243E2','B10243E3','B10243E4')
gsub(pattern = '[[:xdigit:]]{8}.',replacement = '',x = variables)

我以为我们可以使用命令

{}

为了选择一个特定的位置.

解决方法

您可以通过捕获所有字符但最后一个来完成:

variables = c('B10243E1','B10243E4')
gsub('^(.*).$','1',variables)

说明:

> ^ – 字符串的开头
>(.*) – 所有字符,但换行符
>.$ – 字符串($)结尾之前的最后一个字符(用.捕获).

因此,如果您计划删除最终字符,并且该字符串不包含换行符,则此正则表达式很适合使用.

见demo

输出:

[1] "B10243E" "B10243E" "B10243E" "B10243E"

仅替换第8个字符(这是我在每个项目末尾添加T的示例):

variables = c('B10247E1T','B10243E2T','B10243E3T','B10243E4T')
gsub('^(.{7}).',variables)

输出sample program(不是每个项目末尾的ET,数字被删除):

[1] "B10247ET" "B10243ET" "B10243ET" "B10243ET"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读