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

How to use wildcard in gsub replacement

我有一列字符串,例如

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

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

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

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

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

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

我觉得应该是gsub("PO000\d{1}", "", strings) 结果是:

[1] "Sometextmoretext" "Sometextmoretext"