我需要删除字符串中所有的英文字母。
我编写了以下代码:
StringBuilder str = new StringBuilder();
foreach(var letter in test)
{
if(letter >= 'a' && letter <= 'z')
continue;
str.Append(letter); }
什么是最快的方法?
我需要删除字符串中所有的英文字母。
我编写了以下代码:
StringBuilder str = new StringBuilder();
foreach(var letter in test)
{
if(letter >= 'a' && letter <= 'z')
continue;
str.Append(letter); }
试试这个:
var str = test.Where(item => item < 'A' || item > 'z' || (item > 'Z' && item < 'a'));
item < 'a' || item > 'Z'
将匹配所有字符。 item > 'z' && item < 'A'
不会匹配任何字符。由于这两个条件被“OR”在一起,因此将匹配所有字符。 - Frédéric Hamidipublic static string RemoveSpecialCharacters(string str)
{
StringBuilder sb = new StringBuilder();
foreach (char c in str)
{
if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'))
continue;
else
sb.Append(c);
}
return sb.ToString();
}