如何在gsub替换中使用通配符

时间:2017-03-04 21:42:49

标签: r string gsub

我有一列字符串,例如

strings <- c("SometextPO0001moretext", "SometextPO0008moretext")

'sometext'和'moretext'部分的长度是可变的。我想删除字符串的PO000 *部分,其中*是通配符。我试过了

gsub("PO000*", "", strings)

和谷歌搜索相当多但令人惊讶的是没有找到这个看似简单的问题的答案。由于最后一个字符不同,我希望能够以这种方式进行删除,而不是对大量变体进行硬编码。任何帮助,将不胜感激!

2 个答案:

答案 0 :(得分:4)

对于单张外卡,您需要使用.。您使用的*对最后一个字符重复0次或更多次,即0

gsub("PO000.", "", strings)会删除PO0001PO0008

答案 1 :(得分:1)

我认为它应该是gsub("PO000\\d{1}", "", strings) 结果是:

[1] "Sometextmoretext" "Sometextmoretext"