我如何解析字符串?

时间:2013-11-17 16:58:51

标签: c#

这是代码:

string firsttag = "\"";
string endtag = "\",\"";
int start;
int end;


for (int  i = 0; i < images.Length; i++)
{

    start = images.IndexOf(firsttag);
    end = images.IndexOf(endtag, start);
    string h = images.Substring(start + firsttag.Length, end - start - firsttag.Length);
    start = images.IndexOf(firsttag, end + 1);
}

这是字符串内容:

"http://www.niederschlagsradar.de/images.aspx?jaar=-6&type=europa.cld&datum=201311161500&cultuur=en-GB&continent=europa","http://www.niederschlagsradar.de/images.aspx?jaar=-6&type=europa.cld&datum=201311161800&cultuur=en-GB&continent=europa"

我在变量h中得到的是:

http://www.niederschlagsradar.de/images.aspx?jaar=-6&type=europa.cld&datum=201311161500&cultuur=en-GB&continent=europa

但是我在任何循环/迭代中获取相同的行/字符串我想要做的是从变量图像获取所有链接然后我将做map.Images.Add(link);所以最后Images(List)将只包含字符串中的链接,而不包含“and the,chars。

我的问题是为什么在下一次迭代中我得到相同的链接解析字符串而不是下一个字符串直到最后一个?我想使用indexof和substring。

一般来说,我得到链接第一个没有字符“和, 但我不会得到下一个,直到最后它一直给我同一个。

2 个答案:

答案 0 :(得分:3)

以下是一些假设:

inputString.Trim('"').Split(new []{"\",\""}, StringSplitOptions.None)

输入字符串以单"个字符开头和结尾,而","是URI之间的分隔符(意思是,它总是那个,并且这个子字符串不会出现在URI中的任何位置)

注意,如果您希望进一步解析每个URI,可以使用Uri类来获取字符串的强类型解析。

答案 1 :(得分:0)

将图像字符串拆分为数组,然后遍历该数组,删除“:

的出现次数
        var entries = images.Split(new[] {','});
        for (var i = 0; i < entries.Length; i++)
            entries[i] = entries[i].Replace("\"", "");