我想从数据帧列中删除最后一个"/"(特殊字符(。
例如,有 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"