删除最后一个号码后面的所有字符

时间:2018-01-18 09:58:37

标签: r regex string gsub

我的列中的值是字母和数字的组合,如下所示:abc1237pqr, 413ogty, ptw569q, qrt

如何在最后一位数字出现后删除所有字符,使其变为:abc1237, 413, ptw569, qrt?也就是说,开头的字母会保留,但不会出现在数字后面的字母。

1 个答案:

答案 0 :(得分:1)

我们可以使用sub来捕获一个数字((\\d)),后跟一个或多个不是数字([^0-9]+)的字符,直到字符串结尾({{1} }}并替换为捕获组

的反向引用($
\\1

数据

sub("(\\d)[^0-9]+$", "\\1", df1$v1)
#[1] "abc1237" "413"     "ptw569"  "qrt"