C#中:删除常见的无效字符的字符串:改进算法 [英] C#: Removing common invalid characters from a string: improve this algorithm
本文介绍了C#中:删除常见的无效字符的字符串:改进算法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
考虑要求从字符串中剥离无效字符。字符只需要删除并替换为空或的String.Empty
。
的char [] BAD_CHARS =新的char [] {,'@','#','$','%','_'!'}; //简单的例子
的foreach(在BAD_CHARS字符坏)
{
如果(someString.Contains(坏))
someString = someString.Replace(bad.ToString(),的String.Empty);
}
我有真的很喜欢要做到这一点:
如果(BAD_CHARS.Any(BC => someString.Contains(BC)))
someString.Replace(公元前的String.Empty); // BC超出范围
问: 你有什么建议在重构这个algoritm,或者更简单,更易于阅读,高性能,可维护的算法?
解决方案
的char [] BAD_CHARS =新的char [] {'!','@','#','$ ','%','_'}; //简单的例子
someString = string.Concat(someString.Split(BAD_CHARS,StringSplitOption.RemoveEmptyEntries));
应该做的伎俩(对不起,任何小的语法错误,我在我的手机)
Consider the requirement to strip invalid characters from a string. The characters just need to be removed and replace with blank or 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);
}
I'd have really liked to do this:
if (BAD_CHARS.Any(bc => someString.Contains(bc)))
someString.Replace(bc,string.Empty); // bc is out of scope
Question: Do you have any suggestions on refactoring this algoritm, or any simpler, easier to read, performant, maintainable algorithms?
解决方案
char[] BAD_CHARS = new char[] { '!', '@', '#', '$', '%', '_' }; //simple example
someString = string.Concat(someString.Split(BAD_CHARS,StringSplitOption.RemoveEmptyEntries));
should do the trick (sorry for any smaller syntax errors I'm on my phone)
这篇关于C#中:删除常见的无效字符的字符串:改进算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文