在 R 中提取特定模式后的子字符串

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

我有一个字符串列表

mylist <- c("0-X-global-X-all_chondroitine-and-heparan-sulfate_synthesis", "100-X-global-X-all_retinol_metabolism", "2-X-global-X-all_type-I-ifn-response",                      "312-X-global-X-thrombolysis-factor_production")

我需要删除字符串的第一部分,例如“0-X-global-X-”,所以结果列表如下所示:

c("all_chondroitine-and-heparan-sulfate_synthesis", "all_retinol_metabolism", "all_type-I-ifn-response",                      "thrombolysis-factor_production")
r
1个回答
0
投票

如果我理解正确,这可以使用 tidyverse 中的

str_remove
和快速正则表达式模式来完成:

library(tidyverse)

mylist <- c("0-X-global-X-all_chondroitine-and-heparan-sulfate_synthesis", "100-X-global-X-all_retinol_metabolism", "2-X-global-X-all_type-I-ifn-response",                      "312-X-global-X-thrombolysis-factor_production")

cleaned_list <- mylist %>% str_remove("^[0-9]{1,}-X-global-X-")

# "all_chondroitine-and-heparan-sulfate_synthesis" "all_retinol_metabolism" "all_type-I-ifn-response" "thrombolysis-factor_production"   
© www.soinside.com 2019 - 2024. All rights reserved.