我尝试替换某些字符串14/04/2010 17:12:11
中的少数几个字符,然后获取下一个结果:
14%04%2010%17%12%11
我了解方法Replace
,但其定义看起来像Replace(Char,Char)
。这意味着在方法链中使用它3次。看起来不那么惯用。如何以最佳方式解决问题?常用表达?有什么方法逃脱它们吗?
答案 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, "/ :", '%'));