从每个字符串的末尾删除一个特定字符

MFR*_*MFR 2 r

如何从数据末尾删除"/".我们假设这是我的数据

#input 
ID    page
 1    www.example.com/, ww.example.com/flight, www.example.com/flight/
 2    www.example.com/, ww.example.com/flight
Run Code Online (Sandbox Code Playgroud)

我希望从那些拥有最后一个角色的人那里删除"/",我的输出就是那样

 #output 
 ID    page
 1    www.example.com, ww.example.com/flight, www.example.com/flight
 2    www.example.com, ww.example.com/flight
Run Code Online (Sandbox Code Playgroud)

tal*_*lat 7

一种选择:

gsub("/(?=,|$)", "", as.character(df$page), perl = TRUE)
#[1] "www.example.com, ww.example.com/flight, www.example.com/flight"
#[2] "www.example.com, ww.example.com/flight"
Run Code Online (Sandbox Code Playgroud)

这将检查a /后面是逗号,或字符串的结尾$,如果找到,/则替换为"",即将其删除.由于这是一个外观,我们使用perl = TRUE.

其他选择(效率较低):

sapply(strsplit(as.character(df$page), ", ", fixed = TRUE), function(x) toString(sub("/$", "", x)))
#[1] "www.example.com, ww.example.com/flight, www.example.com/flight"
#[2] "www.example.com, ww.example.com/flight" 
Run Code Online (Sandbox Code Playgroud)