我想从数据框列中删除最后一个“ /”(特殊字符)。
例如,有2个条目
.read(byte[] dest, Int offset, Int length)
例如,文本中间可以有多个“ /”:
1. "/mobile_phones" and
2. "/mobile_phones/".
。
我只想删除最右边的'/'。
我尝试了以下gsub查询
"/accessories-bandanas_and_headbands/womens/"
答案 0 :(得分:4)
这是一个简单的正则表达式。请注意,您不需要转义'/',它不是特殊字符。
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
应该保留给模式多次出现。
答案 1 :(得分:3)
由于您只对最后一个/
感兴趣,因此您将调用$
,该字符串指示字符串在符号/
之后结束。另外,您不需要使用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"