先知道这些:
1.file_basename():不要文件路径(d:/…/),只要文件名本身(如mod.20220305.hdf)。
2.strmid((Expression, First_Character [, Length] , /REVERSE_OFFSET )):从Expression的第 First_Character个位置(注意从第0个数开始数),连续取 Length个字符串。
比如
myString = “IDL is fun”
subString = STRMID(myString, 4, 2)
PRINT, subString
结果就是:is
以提取文件名中年份为例
功能:提取文件名中的部分字符串,以提取年份为例
pro certain_strings_extracting_from_filename
data_path='G:/myfile/IDL_New/chapter_3/chapter_3/modis_swath/';HDF文件所在路径
file_list=file_search(data_path,'*.hdf')
file_n=n_elements(file_list)
for file_i=0,file_n-1 do begin
year=strmid(file_basename(file_list[file_i]),10,4);用file_basename去掉路径,只保留文件名,然后用strmid截取字符串中从第10个元素开始,字符长度4个的字符串,也就是“2018”
print,'文件路径名:'
print,file_list[file_i]
print,'文件去掉路径后的名字:'
print,file_basename(file_list[file_i])
print,'截取的年份'
print,year
endfor
end
结果如下(这里就仅截取一个文件的字符串,后面还有很多类似输出结果):