一尘不染

C#:从字符串中删除常见的无效字符:改进此算法

algorithm

考虑从字符串中去除无效字符的要求。只需删除字符并用空格或替换即可string.Empty

char[] BAD_CHARS = new char[] { '!', '@', '#', '$', '%', '_' }; //simple example

foreach (char bad in BAD_CHARS)
{
    if (someString.Contains(bad))
      someString = someString.Replace(bad.ToString(), string.Empty);
}

真的很喜欢 这样做:

if (BAD_CHARS.Any(bc => someString.Contains(bc)))
    someString.Replace(bc,string.Empty); // bc is out of scope

问题: 您对重构此算法有任何建议,或者有任何更简单,更易读,性能更好且可维护的算法?


阅读 596

收藏
2020-07-28

共1个答案

一尘不染

char[] BAD_CHARS = new char[] { '!', '@', '#', '$', '%', '_' }; //simple example
someString = string.Concat(someString.Split(BAD_CHARS,StringSplitOptions.RemoveEmptyEntries));

应该可以解决问题(对于手机上出现的语法错误,我们深感抱歉)

2020-07-28