如何在"之后删除数字或符号("或" ["

时间:2017-02-06 08:56:37

标签: r regex string

names(score)
 [1] "(Intercept)"              "aado2_calc(20,180]"       "aado2_calc(360,460]"     
 [4] "aado2_calc(460,629]"      "albumin[1,1.8]"           "albumin(1.8,2.2]"        
 [7] "albumin(2.2,2.8]"         "aniongap(15,18]"          "aniongap(18,20]"         
[10] "aniongap(20,22]"          "aniongap(22,25]"          "aniongap(25,49]"         
[13] "ethnicityBLACK"           "ethnicityUNKNOWN"         "admission_typeEMERGENCY" 
[16] "electivesurgery"          "mechvent"                 "congestive_heart_failure"
[19] "cardiac_arrhythmias"      "renal_failure"            "liver_disease"           
[22] "lymphoma"                 "metastatic_cancer"        "coagulopathy"            
[25] "obesity"                  "fluid_electrolyte"       

在这个程序中,我想删除"("或" ["。例如,"白蛋白[1,1.8]&#)后面的符号或数字34;应该是"白蛋白"。

1 个答案:

答案 0 :(得分:0)

我们可以使用sub来匹配(或(|[后跟一个或多个号码([0-9]+),其余的的字符和替换为空白

sub("(\\(|\\[)[0-9]+.*", "",  names(score))
#[1] "(Intercept)"              "aado2_calc"               "aado2_calc"               "aado2_calc"               "albumin"                 
#[6] "albumin"                  "albumin"                  "aniongap"                 "aniongap"                 "aniongap"                
#[11] "aniongap"                 "aniongap"                 "ethnicityBLACK"           "ethnicityUNKNOWN"         "admission_typeEMERGENCY" 
#[16] "electivesurgery"          "mechvent"                 "congestive_heart_failure" "cardiac_arrhythmias"      "renal_failure"           
#[21] "liver_disease"            "lymphoma"                 "metastatic_cancer"        "coagulopathy"             "obesity"                 
#[26] "fluid_electrolyte"