替换字符串中的非字母字符

Tau*_*lax 2 c#

我正在尝试取一个字符串并用空格替换不是AZ的所有内容.所以例如"AB $ CD $ EF"应输出"AB CD EF"

我遇到的问题是以下错误:

实例参数:无法从'string []'转换为'System.Linq.IQueryable'

码:

        string[] alpha = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
        string inVAR = textBox1.Text.ToUpper();
        string outVAR;

        StringBuilder sb = new StringBuilder(inVAR);

        foreach (int i in inVAR) // inVAR because stringbuilders won't work with foreach
        {
            if (alpha.Contains(sb[i]))
            {
                outVAR += sb[i].ToString();
            }
            else
            {
                sb[i] = ' ';
            }
        }
Run Code Online (Sandbox Code Playgroud)

此外,如果你有一个不同的方式来做一个AZ数组,我是开放的!:P

记录:是的,我已经包含了System.Linq

Dom*_* B. 6

也许您可以使用RegEx:

Regex rgx = new Regex("[^a-zA-Z -]");
str = rgx.Replace(str, " ");                                      
Run Code Online (Sandbox Code Playgroud)

然后你可以替换它或者随心所欲地做它.我希望我理解你的问题;)