我有像 'aa;a' 'aa;' 这样的字符串我需要删除';' (或任何其他标点符号)仅当字符串以它结尾时。如果它以它开头或中间包含它,我不想删除它。
以下行导致删除“;”
gsub("(^.*)[[:punct:]]","",'a;a')
最佳答案
我们可以在 $
之后指定元字符 [[:punct:]]
来表示字符串的结尾,因此它匹配字符串末尾的标点符号并将其替换为空白( ""
)
sub("[[:punct:]]$","",c('a;a', 'aa;'))
#[1] "a;a" "aa"
请注意,代替
gsub
(全局替换),sub
仅用于匹配和替换单个实例。
关于R: gsub 标点字符只出现在字符串的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40781224/