Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从字符串中获取多个子字符串_C#_Html_String_Substring - Fatal编程技术网

C# 从字符串中获取多个子字符串

C# 从字符串中获取多个子字符串,c#,html,string,substring,C#,Html,String,Substring,所以我有html文件。我需要提取所有的链接和图像从他们。所以基本上我需要: 和 我一行一行地读文件,可以得到它,但只有第一个: List<string> links = new List<string>(); if (line.Contains(@"<a href=""") || line.Contains(@"<img src=""")) { if (line.Contains(@"<a href=""")

所以我有html文件。我需要提取所有的链接和图像从他们。所以基本上我需要:

我一行一行地读文件,可以得到它,但只有第一个:

    List<string> links = new List<string>();
    if (line.Contains(@"<a href=""") || line.Contains(@"<img src="""))
    {
        if (line.Contains(@"<a href=""")
        {
            links.Add(line.Split(new string[] { @"<a href""" }, StringSplitOptions.None)[1].Split('"')[0]);
        }
        else
        {
            links.Add(line.Split(new string[] { @"<a href=""" }, StringSplitOptions.None)[1].Split('"')[0]);
        }
    }
List links=newlist();

如果(line.Contains)(@“我认为你没有使用正确的方法来做这件事,我可以建议你看看一个报废工具,它是为做这类事情而优化的


这里是一个用
实现这一点的例子,我不认为您使用了正确的方法来实现这一点。我可以建议您看看一个报废工具,它是为实现这一点而优化的


下面是一个使用
实现这一点的示例。首先,最好知道变量行的类型。其次,在我看来,您需要一个while循环,直到到达文件末尾。while(!EOF)使用。请改用HTML Agility Pack之类的工具-只需搜索所有“a”或“img”元素,然后获取“@href”“属性。对于此类任务,类似的操作比直接字符串操作更好。首先,最好知道变量行的类型。其次,在我看来,您需要一个while循环,直到到达文件结尾。while(!EOF)使用。请改用HTML Agility Pack之类的工具-只需搜索所有“a”或“img”元素,并获取“@href”对于此类任务,类似的属性将比直接字符串操作更好。这也适用于php文件吗?@fishmong3r不,这是针对C#,.NET.php有自己的工具/扩展/类来处理this@fishmong3r如果您的意思是输入是php,那么您必须尝试一下,看看HTML Agility Pack是如何处理它的我的意思是输入是php。如果文件中没有a href,则程序将终止。如何首先检查它,如
If(没有节点)return;
这也适用于php文件吗?@fishmong3r不适用于C#,.NET.php有自己的工具/扩展名/类来处理this@fishmong3r如果你的意思是输入是php,那么你必须试试看HTML Agility Pack对它做了什么是的,当然我的意思是输入是php。如果文件中没有a href,程序就会消失。如何首先检查它,如
if(没有节点)return;
HtmlDocument doc = new HtmlDocument();
doc.Load("mytest.htm");

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//a[@class='dn-index-link']"))
{
    Console.WriteLine("node:" + node.GetAttributeValue("href", null));
}