使用gsub删除R中的第一个下划线之前的数字

时间:2019-02-22 00:25:13

标签: regex gsub

我有这个列表:

l <-c(“ F1_6346346346_TrainTest_53453465.rds”,“ F1_64575687357_FunctionTest_747434534.rds”,“ F3F4_546345647678_TrainTest_453463654.rds”

我想要这样的东西:

l <-c(“ F1_TrainTest”,“ F1_FunctionTest”,“ F3F4_TrainTest”)

我已经尝试过使用'gsub',但是我对正则表达式感到很困惑,但我还无法实现。

提前谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用此正则表达式

_+\d+_*
  • _-匹配_一次或多次。
  • \d+-一次或多次匹配数字0 to 9
  • -*-匹配_零次或多次。

DEMO

答案 1 :(得分:0)

regex101 demo

(_(\d)+(\.rds)*)

一无所获,产生:

l <- c("F1_TrainTest", "F1_FunctionTest", "F3F4_TrainTest"

获取所有数字组,可以选择在其后跟.rds