在Matlab中从在线数据服务器中提取文件名

时间:2013-11-08 20:37:36

标签: matlab

我正在尝试编写一个脚本,允许我从数据服务器(例如http://hydro1.sci.gsfc.nasa.gov/thredds/catalog/GLDAS_NOAH10SUBP_3H/2011/345/)下载大量(1000s)数据文件。不幸的是,每个目录中文件的名称都没有以类似的方式格式化(创建它们的时间被附加到文件名的末尾)。我需要能够指定文件名来对数据进行子集化(我有这些数据类型的特殊工具)并下载它。我在matlab中找不到一个提取文件名的函数。

我查看过URLREAD,但它会下载所有内容,包括html代码。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以轻松解析链接。

x=urlread(url)
links=regexp(x,'<a href=''([^>]+)''>','tokens')

读取每个链接,您必须过滤所有不需要的链接。

例如,这会获取所有grb文件:

a=regexp(x,'<a href=''([^>]+.grb)''>','tokens')