替换字符串中的几个不同字符

时间:2010-04-21 21:45:40

标签: c# .net string replace

我尝试替换某些字符串14/04/2010 17:12:11中的少数几个字符,然后获取下一个结果:

14%04%2010%17%12%11

我了解方法Replace,但其定义看起来像Replace(Char,Char)。这意味着在方法链中使用它3次。看起来不那么惯用。如何以最佳方式解决问题?常用表达?有什么方法逃脱它们吗?

4 个答案:

答案 0 :(得分:8)

Regex.Replace(myString, "[/ :]", "%");

简单而优雅!

答案 1 :(得分:8)

链接它:

string s1 = "14/04/2010 17:12:1";

string s2 = s1.Replace("/","%").Replace(" ","%").Replace(":","%");

答案 2 :(得分:0)

另一种Regex方法,虽然我不同意这里的使用方法。这只是替换任何非数字字符:

string date2 = Regex.Replace(date1, @"\D", "%");

答案 3 :(得分:0)

如果你必须经常这样做,请写一个方法:

static string Replace(string s, string c, char n)
{            
    for (int i = 0; i < c.Length; i++)
        s = s.Replace(c[i], n);            
    return s;
}

e.g。

string s1 = "14/04/2010 17:12:11";                
string s2 = Replace(s1, "/ :", '%'));