正则表达式 – 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" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |