c# - 替换字符串中的非字母字符

标签 c#

我正在尝试获取一个字符串并将不是 A-Z 的所有内容替换为空格。因此,例如“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] = ' ';
            }
        }

此外,如果您有不同的方法来处理 A-Z 数组,我愿意! :P

郑重声明:是的,我已经包含了 System.Linq

最佳答案

也许您可以为此使用 RegEx:

Regex rgx = new Regex("[^a-zA-Z -]");
str = rgx.Replace(str, " ");                                      

然后你可以替换它或用它做任何你想做的事。 我希望我理解你的问题;)

关于c# - 替换字符串中的非字母字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20668029/

相关文章:

c# - WinRT 在通用应用程序中使用共享资源 xaml 文件

c# - 如何在 EF4 中回滚单元测试拆解?

c# - 需要有关我缺少的代码输出的说明

c# - 失控的 switch 语句的最佳替代方法是什么?

c# - 使用 .net 4.0 系统处理泄漏

c# - 如何开始使用 TopShelf

c# - 无法从 vscode 中的 .net-core 控制台应用程序读取输入

c# - AddEntityFrameworkStores 只能由派生自 IdentityUser<TKey> 的用户调用

c# - 在 ASP.NET C# 中使用未知数量的值查询 SQL 数据库

c# - submit 和 beginform 的相关性