2017-03-04 18 views
0

私は文字列を持っています。gsub置換にワイルドカードを使用する方法

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

'sometext'と 'moretext'部分の長さは可変です。 *がワイルドカードであるところで、文字列のPO000 *部分を削除したいと思います。私は

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

を試してみましたが、かなりGoogleでなく、驚くほど、この一見単純な質問への答えを見つけることができました。最後の文字が変わるので、私はこのように多くのバリアントをハードコーディングするのではなく、この方法で削除を実行したいと考えています。どんな助けもありがとう!

答えて

2

単一のワイルドカードの場合は、.を使用する必要があります。あなたが使用した*は、最後の文字で0回以上繰り返され、0でした。

gsub("PO000.", "", strings)PO0001PO0008

1

の両方を除去するであろう、私はそれがgsub("PO000\\d{1}", "", strings) すべきであり、結果があると思う:

[1] "Sometextmoretext" "Sometextmoretext" 
+0

おかげで、この答えも動作します。 – kng229

+0

@ kng229良い、彼の答えはより詳細です、私はちょうど私が思ったものを投稿します。 –

関連する問題