首页 > 解决方案 > 如何使用 foreach 循环替换字符串中的字符?

问题描述

我正在开发一个程序,该程序对要在 a 中使用的字符串进行编码,URL而无需使用将为我进行编码的库。

这个想法是将一个字符串传递给这个函数,迭代字符串的每个字符。如果字符正常,则将其添加到编码字符串中。如果失败,则对其进行更正,然后将其添加到编码字符串中。我的想法是做多个if/if-else语句来替换任何坏字符,但我似乎无法弄清楚如何正确地做到这一点。

static string Encode(string value)
{
    string encodedValue = "";
    foreach (char character in value.ToCharArray())
    {
        if(character == ' ')
            value.Replace(character, '%20');
        // Add to encodedValue 
    }
    return encodedValue;
}

显然这是行不通的,因为我不能以这种方式用比字符更​​大的东西替换字符。例如,我可以做些什么来用它的代码替换字符串中的空格%20

标签: c#foreachchar

解决方案


我不明白是否需要使用foreach循环,但我们可以直接使用ReplaceString 类上的方法

value = value.Replace(" ", "%20");

这将为您提供用 %20 替换字符串中空格的字符串值。


推荐阅读