我一直试图从我们的localhost / remote目录列表中获取该文件夹中的所有图像。
我到目前为止所尝试的内容(基于其他SO的问题,但稍微改变一下,将其包括在我的arr'中,但仍使用WebRequest。):
Regex regex = new Regex(GetDirectoryListingRegexForUrl(url));
var arr = regex.Matches(photosName).Cast<Match>().Select(m => m.Value).ToArray();
public static string GetDirectoryListingRegexForUrl(string url)
{
if (url.Equals("http://localhost:MyPort/MyNewbieProject/images/"))
{
return "<a href=\".*\">(?<name>.*)</a>";
}
throw new EverythingExplodedException();
}
因此,结果就是这样:
"<a href=\"All-Your-Base-00.jpg\"> All-Your-Base-00.jpg</a>"
我想获得“All-Your-Base-00.jpg”,所以我可以将它下载到我的应用程序中并用它来填充我的图像。
我该怎么办?我应该手动修剪这个字符串,还是有更好的方法呢?
答案 0 :(得分:2)
您希望从返回的匹配中获取捕获的组。也就是说,你有:
var arr = regex.Matches(photosName).Cast<Match>().Select(m => m.Value).ToArray();
首先,将其更改为:
var arr = regex.Matches(photosName).Cast<Match>();
然后你想要经历每场比赛:
foreach (Match m in arr)
{
var name = m.Groups["name"].Value;
// name now contains the captured group
}