2017-03-04 60 views
0

我有一列字符串,例如,如何在gsub替換中使用通配符

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

'sometext'和'moretext'部分的長度是可變的。我想刪除PO000 *部分的字符串,其中*是通配符。我試過

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

和谷歌搜索了很多,但令人驚訝的是還沒有找到這個看似簡單的問題的答案。由於最後一個字符不同,我希望能夠以這種方式進行刪除,而不是對大量變體進行硬編碼。任何幫助,將不勝感激!

回答

2

對於單個通配符卡,您需要使用.。您使用的*對於最後一個字符爲0重複0次或更多次。

gsub("PO000.", "", strings)將同時刪除PO0001PO0008

1

我覺得應該是gsub("PO000\\d{1}", "", strings) ,其結果是:

[1] "Sometextmoretext" "Sometextmoretext" 
+0

謝謝,這個問題的答案也適用。獲得第一個,因爲它更簡單 – kng229

+0

@ kng229好,他的回答更詳細,我只是發佈我的想法。 –