如何从列字符串中删除字符?

How to remove characters from column string?

我有一个数据库,其中包含以下列名称(每一个对应于不同年份对个人的观察,即第 1 年、第 2 年):

Session <- c("Evidims_01_001_1", "Evidims_01_001_2", "Evidims_01_001_3", "Evidims_01_002_1", "Evidims_01_002_2", "Evidims_01_003_1", "Evidims_01_003_2" "Evidims_01_003_3", "Evidims_01_003_4", "Evidims_01_004_1")

我的想法是创建一个宽 table,但首先我想删除字符串:“Evidims_0x_00x_y”,只保留每个名称中的最后一个数字,即“1” , "2".

提前致谢!

你是这个意思吗?

sub('.*_', '', Session)
#[1] "1" "2" "3" "1" "2" "1" "2" "3" "4" "1"

这可能有助于:

regmatches(Session, regexpr("\d+$", Session, perl = TRUE))

[1] "1" "2" "3" "1" "2" "1" "2" "3" "4" "1"

您还可以使用:

sub(".*(\d+)$", "\1", Session)

我们可以使用 trimws 来自 base R

trimws(Session, whitespace = '.*_')
[1] "1" "2" "3" "1" "2" "1" "2" "3" "4" "1"