删除最后一个特殊字符

Removing the last special character

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

例如有 2 个条目

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

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

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

我尝试了以下 gsub 查询

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

因为您只对最后一个 / 感兴趣,那么您将调用 $,它表示字符串在符号 / 之后结束。您也不需要使用 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"

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

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 应保留用于多次出现该模式的情况。