2015-04-24 67 views
2

我試圖取代「其他」,除了那些開始在下面的例子中數字的所有字符串:例外與R中GSUB

strings <- c("test.5","5.test","6.test","test","test") 

我發現下面的代碼替換纔剛剛開始與琴絃數字:

gsub("^[0-9].+", "other", strings) 
"test.5" "other" "other" "test" "test" 

但是,我真的很困惑如何反轉語句,以便除了這些字符串的一切都被替換。

期望中的答案是

"other" "5.test" "6.test" "other" "other" 

有人能幫助我嗎?提前致謝!

+0

它被認爲有禮貌給予好評,並勾選一個正確的答案。 –

回答

2

嘗試

sub('^[^0-9].*', "other", strings) 
#[1] "other" "5.test" "6.test" "other" "other" 
+0

很好,謝謝! – ZMacarozzi

+0

@ZMacarozzi沒問題。這個想法是匹配不是數字的第一個字符。使用'^ [^ 0-9]'確保我們匹配不是數字的第一個字符。 – akrun

+1

你應該閱讀正則表達式頁面關於字符類的部分。 –