我在r dataframe中有以下列
file_name
01.01.2017 -SS DPR.xlsx
02.01.2017 -SS DPR.xlsx
03.01.2017 -SS DPR.xlsx
04.01.2017 -SS DPR.xlsx
05.01.2017 -SS DPR.xlsx
06.01.2017 -SS DPR.xlsx
我想只从上面的列中提取名称而不是扩展名。
file_name
01.01.2017 -SS DPR
02.01.2017 -SS DPR
03.01.2017 -SS DPR
04.01.2017 -SS DPR
05.01.2017 -SS DPR
06.01.2017 -SS DPR
如何从r?
中的最后4个字符对数据帧进行子集化答案 0 :(得分:3)
尝试使用TextBlock
:
Text
此解决方案使用模式gsub
,它会占用并捕获所有内容,直到终点,然后是任何类型的扩展。如果您计划使用Excel电子表格以外的文件,这可能很有用。
<强>输出:强>
new_file_name <- gsub("(.*)\\.\\w+", "\\1", file_name)
在这里演示:
答案 1 :(得分:0)
我们可以使用sub
df1$file_name <- sub("\\.xlsx", "", df1$file_name)
或使用file_path_sans_ext
tools
df1$file_name <- tools::file_path_sans_ext(df1$file_name)
df1$file_name
#[1] "01.01.2017 -SS DPR" "02.01.2017 -SS DPR" "03.01.2017 -SS DPR"
#[4] "04.01.2017 -SS DPR" "05.01.2017 -SS DPR"
#[6] "06.01.2017 -SS DPR"