r语言 - 删除最后一个特殊字符



我想从数据帧列中删除最后一个"/"(特殊字符(。

例如,有 2 个条目

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

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

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

我尝试了以下 gsub 查询

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

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

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应保留在模式多次出现时。

由于您只对最后/感兴趣,因此您将调用$,该表示字符串在符号/之后结束。此外,您不需要使用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"

最新更新