R:仅在字符串末尾的gsub标点字符

时间:2016-11-24 08:24:43

标签: r regex gsub

我喜欢' aa; a' ' AA;'我需要删除';' (或任何其他标点符号)仅当字符串以其结尾时。如果它以它开头或在中间包含它,我不想删除它。

以下行会导致删除&#39 ;;'

gsub("(^.*)[[:punct:]]","",'a;a')

1 个答案:

答案 0 :(得分:4)

我们可以在$之后指定元字符[[:punct:]]来表示字符串的结尾,因此它匹配字符串末尾的标点符号并将其替换为空白(""

sub("[[:punct:]]$","",c('a;a', 'aa;'))
#[1] "a;a" "aa" 

请注意,gsub不是sub(全局替换),而是仅用于匹配和替换单个实例。