【问题标题】:Removing the last special character删除最后一个特殊字符
【发布时间】:2018-08-23 05:47:44
【问题描述】:

我想从数据框列中删除最后一个“/”(特殊字符)。

例如有2个条目

1. "/mobile_phones" and 
2. "/mobile_phones/". 

文本中间可以有多个“/”,例如: "/accessories-bandanas_and_headbands/womens/"

我只想删除最右边的 '/' 。

我尝试了以下 gsub 查询

ga.data$landingPagePath <- gsub('^\\/&', '', ga.data$landingPagePath)

【问题讨论】:

    标签: r regex gsub


    【解决方案1】:

    这是一个简单的正则表达式。请注意,您不需要转义“/”,它不是特殊字符。

    x <- c("/mobile_phones", "/mobile_phones/", "/accessories-bandanas_and_headbands/womens/")
    sub("/\\s*$", "", x)
    #[1] "/mobile_phones"                            
    #[2] "/mobile_phones"                            
    #[3] "/accessories-bandanas_and_headbands/womens"
    

    还要注意,由于它只有一个字符要被删除,sub 将完成这项工作,gsub 应保留用于模式多次出现时。

    【讨论】:

      【解决方案2】:

      由于您只对最后一个/ 感兴趣,因此您将调用$,它表示字符串在符号/ 之后结束。你也不需要使用gsub。您可以使用sub,因为您只替换每一行中的一件事

      vec=c("/mobile_phones",
        "/mobile_phones/",
        "/accessories-bandanas_and_headbands/womens/")
      
      sub("/$","",vec)
      [1] "/mobile_phones"                             "/mobile_phones"                            
      [3] "/accessories-bandanas_and_headbands/womens"
      

      【讨论】:

      • 有人不喜欢你?
      • @RuiBarradas 哈哈哈没关系.. 好吧,我只是想知道投反对票的原因。不过既然没有,那也没关系
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      • 2015-12-09
      • 2020-11-14
      • 1970-01-01
      • 2018-06-05
      • 1970-01-01
      相关资源
      最近更新 更多