字符串.删除不起作用

本文关键字:不起作用 删除 字符串 | 更新日期: 2023-09-27 18:01:03

我有以下问题:

我写了一个程序,使用谷歌图像搜索来提取jpg文件的链接。但在链接前面,我有一个15个字符长的字符串,我无法删除。

    public const int resolution = 1920;
    public const int DEFAULTIMGCOUNT = 40;
    public void getimages(string searchpatt)
    {
        string blub = "http://images.google.com/images?q=" + searchpatt + "&biw=" + resolution;
        WebClient client = new WebClient();
        string html = client.DownloadString(blub);                                              //Downloading the gooogle page;
        MatchCollection mc = Regex.Matches(html,
            @"(https?:)?//?[^'<>]+?'.(jpg|jpeg|gif|png)");
        int mccount = 0;                                                                        // Keep track of imgurls 
        string[] results = new string[DEFAULTIMGCOUNT];                                         // String Array to place the Urls 
        foreach (Match m in mc)                                                                 //put matches in string array
        {
            results[mccount] = m.Value;                
            mccount++;
        }
        string remove = "/imgres?imgurl=";
        char[] removetochar = remove.ToCharArray();
        foreach (string s in results)
        {
            if (s != null)
            {
                s.Remove(0, 15);
                Console.WriteLine(s+"'n");
            }
            else { }
        }
       //  Console.Write(html);

    }

我试过移除和trimstart,但它们都不起作用,我无法理解我的失败。

我像一样解决了它

        for (int i = 0; i < results.Count(); i++)
        {
            if (results[i] != null)
            {
                results[i] = results[i].Substring(15);
                Console.Write(results[i]+"'n");
            }
        }

字符串.删除不起作用

(我确信这是重复的,但我不能立即找到。(

.NET中的字符串是不可变的。string.Removestring.Replace等方法不会更改现有字符串的内容,而是返回的字符串。

所以你想要这样的东西:

s = s.Remove(0, 15);

或者,只需使用Substring:

s = s.Substring(15);