【问题标题】:How to remove everything before comma in string?如何删除字符串中逗号之前的所有内容?
【发布时间】:2021-03-05 15:06:57
【问题描述】:

我正在处理地理数据,并且我的数据中有一个字符串列,其中列出了州名、逗号和县名。如何消除逗号前的所有内容?

所以这个:

Obs    county
1      wisconsin, waukesha
2      oklahoma, tulsa
3      alabama, shelby
4      virginia, montgomery

应该变成这样:

Obs    county                     newcounty
1      wisconsin, waukesha         waukesha
2      oklahoma, tulsa              tulsa
3      alabama, shelby              shelby
4      virginia, montgomery        montgomery

我知道过去曾提出过与此类似的问题,但堆栈上的所有问题都要求删除逗号之后的所有内容,而不是之前。

【问题讨论】:

标签: r dataframe


【解决方案1】:

我们可以匹配字符 (.*) 直到 , 后跟零个或多个空格 (\\s*) 并替换为 sub 中来自 base R 的空白 ("")

df1$newcounty <- sub(".*,\\s*", "", df1$county)

-输出

df1
#  Obs               county  newcounty
#1   1  wisconsin, waukesha   waukesha
#2   2      oklahoma, tulsa      tulsa
#3   3      alabama, shelby     shelby
#4   4 virginia, montgomery montgomery

或者另一个base R选项是trimws

trimws(df1$county, whitespace = ".*,\\s*")
#[1] "waukesha"   "tulsa"      "shelby"     "montgomery"

数据

df1 <- structure(list(Obs = 1:4, county = c("wisconsin, waukesha", 
     "oklahoma, tulsa", 
"alabama, shelby", "virginia, montgomery")), 
class = "data.frame", row.names = c(NA, 
-4L))

【讨论】:

    【解决方案2】:

    你也可以这样使用strsplit()

    #Code
    df$newcounty <- lapply(strsplit(df$county,split = ','), function(x) trimws(x[[2]]))
    

    输出:

    df
      Obs               county  newcounty
    1   1  wisconsin, waukesha   waukesha
    2   2      oklahoma, tulsa      tulsa
    3   3      alabama, shelby     shelby
    4   4 virginia, montgomery montgomery
    

    使用的一些数据:

    #Data
    df <- structure(list(Obs = 1:4, county = c("wisconsin, waukesha", "oklahoma, tulsa", 
    "alabama, shelby", "virginia, montgomery")), class = "data.frame", row.names = c(NA, 
    -4L))
    

    【讨论】:

      猜你喜欢
      • 2013-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多