删除模式中任何数字后的所有内容

问题描述 投票:1回答:1

我正在尝试使用gsub删除数据框一列的每个值中的任何数字之后的每个字符:

Tumoral_stage   Methastatic_stage
    T1a                M0
    T1b                M0
    T2c                M0
    T3b                M0
    T1c                M0
    T2                 M0
    T3a                M1

我想获得此数据框:

Tumoral_stage   Methastatic_stage
    T1                 M0
    T1                 M0
    T2                 M0
    T3                 M0
    T1                 M0
    T2                 M0
    T3                 M1

我想应用gsub指令来实现此目的,但我不知道如何指示删除any数字字符后的所有内容。

r regex gsub
1个回答
1
投票

使用子和正向后看

x <- c("T1a", "T1b", "T2c", "T3b", "T1c", "T2", "T3a")

sub("(?<=[0-9]).+", "", x, perl = TRUE)

# [1] "T1" "T1" "T2" "T3" "T1" "T2" "T3"
© www.soinside.com 2019 - 2024. All rights reserved.