2017-08-21 22 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)