首页 > 解决方案 > 从字符串中删除字符

问题描述

我正在处理以下字符串:

 "I(x - lambda * WX)(Intercept)"                     "I(x - lambda * WX)pres_dem_two_party_vote_percent"
 "I(x - lambda * WX)dem_seat"                        "I(x - lambda * WX)forgnpct"                       
 "I(x - lambda * WX)blackpct"                        "I(x - lambda * WX)log_people_per_mi2"    

我想I(x - lambda * WX)从字符串中删除 : 以便剩下的就是:

"(Intercept)"                     "pres_dem_two_party_vote_percent"
"dem_seat"                        "forgnpct"                       
"blackpct"                        "log_people_per_mi2"    

我尝试使用 gsub 和 str_replace,但没有成功。

您能提供的任何帮助,我将不胜感激。非常感谢!

标签: rstringgsubstringr

解决方案


fixed = TRUE由于您在字符串中有一些特殊字符要删除使用sub

sub("I(x - lambda * WX)", "", x, fixed = TRUE)

#[1] "(Intercept)"                     "pres_dem_two_party_vote_percent"
#[3] "dem_seat"                        "forgnpct"                       
#[5] "blackpct"                        "log_people_per_mi2"   

或者转义所有特殊字符

sub("I\\(x - lambda \\* WX\\)", "", x)

数据

x <-  c("I(x - lambda * WX)(Intercept)",
        "I(x - lambda * WX)pres_dem_two_party_vote_percent",
        "I(x - lambda * WX)dem_seat" ,"I(x - lambda * WX)forgnpct",
        "I(x - lambda * WX)blackpct",  "I(x - lambda * WX)log_people_per_mi2" )      

推荐阅读