很抱歉,如果在這裏某處有我的問題的答案。不幸的是我找不到它。Gsub,提取一定數量的數字
我有一個字符串,其形式爲「ANNNNNNN.tif」,其中A只是一個字母,N是數字。有一個7位數字。
new <- c("A2000001.tif" ,"A2000002.tif", "A2000003.tif", "A2000004.tif", "A2000005.tif", "A2000006.tif")
我想獲得年份和月份值。前4位數字代表年份和最後2個月。例如。我寫了這個得到一年的價值
year1 <- gsub("([0-9]){3,4}?.*$", "", new)
year <- as.numeric(gsub("A", "", year1))
但我想它可以寫得更短,我仍然很難得到一個月的價值。
UPD:我寫了這個來得到一個月。
month1 <- gsub("^*.([0-9]){6,7}?", "\\1", new)
month <- as.numeric(gsub(".tif", "", month1))
但仍然爲了學習的目的,我想知道如何以更好的方式做到這一點。
正試圖創建字符串或提取數字?請澄清。 –
我有一個名稱的文件:「A2000001.tif」「A2000002.tif」「A2000003.tif」「A2000004.tif」「A2000005.tif」「A2000006.tif」等我想擺脫它的一年和一個月的圖像。所以前4位數字代表年份和最後2個月。 – Valerija
'read.fwf(textConnection(new),widths = c(1,4,3),col.names = c('letter','year','month'))'呃,不知道是什麼額外的0是,如果需要避免,你可以把它放在一個單獨的列'read.fwf(textConnection(new),widths = c(1,4,1,2),col.names = c('l ','y','x','m'))' – rawr