R:只保留列中所有行中的3(x)个第一个字符?

use*_*488 13 r

我已将几千个xls文件导入到data.frame中,并添加了一个包含文件名的列.

因此我有数据

data1  data2  data3  filname
A      A2     A3     301fg.xls
B      B2     B3     302gfg.xls
C      C2     C3     303gfsddf.xls
.,.,.,.
Run Code Online (Sandbox Code Playgroud)

我想重命名文件名列中的名称,只包含3个第一个字符/数字,从而给出:

data1  data2  data3  filname
A      A2     A3     301
B      B2     B3     302
C      C2     C3     303
.,.,.,.
Run Code Online (Sandbox Code Playgroud)

luk*_*keA 33

df$filname <- sub("^(\\d{3}).*$", "\\1", df$filname)
Run Code Online (Sandbox Code Playgroud)

要么

df$filname <- substr(df$filname, 0, 3)
Run Code Online (Sandbox Code Playgroud)