我想使用regex
和gsub
S <- "abcd2efghi2.txt"
最后一个号码和最后一个号码的位置可能会有所不同。
所以我试过了正则表达式
?<=[\d+])\b
gsub("?<=[\d+])\b", "", S)
但这似乎无法运作
感谢任何帮助。
答案 0 :(得分:2)
您可以使用以下正则表达式使用默认TRE引擎实现此目的:
\d+(\D*)$
替换为\1
反向引用。
<强>详情
\d+
- 一位或多位(\D*)
- 捕获第1组:任何0+非数字符号$
- 字符串结尾\1
- 对组1值的反向引用(以便恢复与(\D*)
子模式匹配和使用的文本。)请参阅regex demo。
sub("\\d+(\\D*)$", "\\1", S)
## => [1] "abcd2efghi.txt"
答案 1 :(得分:0)