我从richTextBox解析文本我怎么能清除“和,从字符串?

时间:2013-11-25 22:20:07

标签: c# winforms

这是代码:

public static string ParseText(string text, int startPos, int endPos)
{
    string images = "";

    if (startPos >= 0 && endPos > startPos)
    {
        images = text.Substring(startPos + 1, endPos - startPos - 1);
        images.Replace(',',' ');
    }
    return images;
}

我正在使用此部分清除/删除,"

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

例如,如果我有这部分文字:

"http://www.niederschlagsradar.de/images.aspx?jaar=-6&type=europa.cld&datum=201311221800&cultuur=en-GB&continent=europa","http://www.niederschlagsradar.de/images.aspx?jaar=-6&type=europa.cld&datum=201311222100&cultuur=en-GB&continent=europa","http://www.niederschlagsradar.de/images.aspx?jaar=-6&type=europa.cld&datum=201311230000&cultuur=en-GB&continent=europa","http://www.niederschlagsradar.de/images.aspx?jaar=-6&type=europa.cld&datum=201311230300&cultuur=en-GB&continent=europa","http://www.niederschlagsradar.de/images.aspx?jaar=-6&type=europa.cld&datum=201311230600&cultuur=en-GB&continent=europa","http://www.niederschlagsradar.de/images.aspx?jaar=-6&type=europa.cld&datum=201311230900&cultuur=en-GB&continent=europa","

它的时间更长......但在这个例子中,我想删除所有“和, 如果我现在使用代码,结果是:

我只获得第一个链接:

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

如果我删除这些行:

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

然后我会看到所有文字,但,"

清除,"

有什么问题

为什么它只向我显示第一个文本部分而不是所有其他部分?

3 个答案:

答案 0 :(得分:2)

C#中的字符串是不可变的。

images.Replace(',', '');

...按设计不会影响images。你需要的是:

images = images.Replace(',', ' ');

也许您希望将它们作为连接字符串?

var result = string.Join(Environment.NewLine, images.Split(new[] { ',' }).Select(e => e.Replace("\"", "")));

如果我正确理解你的评论,

// could easily be an extension method
public static string ReplacingChars(string source, char[] toReplace, string withThis)
{
    return string.Join(withThis, source.Split(toReplace, StringSplitOptions.None));
}

// usage:
images = ReplacingChars(images, new [] {',', '"'}, " ");

答案 1 :(得分:0)

尝试使用string.Replace()。有关详细信息,请参阅MSDN

e.g。

images.Replace(',','');

答案 2 :(得分:0)

以下适用于我!

string ParseText(string input)
{
    // Replace quotes with nothing at all...
    var noQuotes = input.Replace("\"", "");
    // Replace commas with, I dunno, "whatever you want"... 
    // If you want to just get rid of the commas, you could use "",
    // or if you want a space, " "
    return input.Replace("," "whatever you want");
}