2017-08-21 21 views
1

我有一列代碼爲4個字符的列,我想創建第二列,只顯示第一列的前3個字符。使用gsub顯示前3個字符R

所以,如果第一個代碼是1234我想在第二列有123。

我目前正在研究gsub和下面的代碼,我可以顯示第一個字符。

code<-1234 
gsub("(?<!^)(..)", "", code, perl=TRUE) 

有誰知道我該如何提取前三個字符?

+4

'SUBSTR(代碼,1,3)'或'子( 「^(。{3})。*」, 「\\ 1」,代碼)' – akrun

+1

或者比簡單gsub方法,謝謝Akrun! – Tox

回答

2

我們既可以使用substr

substr(code, 1, 3) 

sub三個字符((.{3}))從字符串作爲一個組的開始(^),接着加入其它字符捕獲和與反向引用替換(\\1 )捕獲組的

sub("^(.{3}).*", "\\1", code)