检测字符串中的垃圾字符

2024-03-18

我想允许用户输入字符、数字和特殊字符,但不允许输入 ascii 值大于 127 的垃圾字符(例如 ♠ ♣ 等)。

我有这样的功能

            for (int i = 0; i < value.Length; i++) // value is input string
            {
                if ((int)value[i] < 32 || (int)value[i] > 126)
                {

                         // show error

                 }

            }

这使得代码有点慢,因为我必须比较每个字符串及其字符。 谁能建议更好的方法?


好吧,一方面你可以编写代码simpler:

foreach (char c in value)
{
    if (c < 32 || c > 126)
    {
        ...
    }
}

或者使用 LINQ,如果您只需要知道是否any字符是非 ASCII:

bool bad = value.Any(c => c < 32 || c > 126);

...但从根本上讲,如果不迭代字符串中的每个字符,您将无法检测非 ASCII 字符...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测字符串中的垃圾字符 的相关文章

随机推荐

  • 计算UIScrollView的minimumZoomScale

    我有一个图像 我想将其加载到图像视图中 并设置minimumZoomScale 以及将zoomScale设置为aspectFill之类的比例 我计算如下 configure the map image scroll view iImageS
  • 以零长度调用 write() 会产生什么后果?

    在 Linux 中处于相当高的水平write 函数 它会过滤掉写入 0 长度缓冲区的请求 这是有道理的 谁愿意操作系统浪费时间钻探各层只是为了确定没有任何工作要做 嗯 我 这与Linux 内核中的 I2C 写入确认轮询 https stac
  • 绑定到 ASP.NET GridView 时的 TypeConverter

    我试图将对象的 IList 绑定到 GridView 的数据源 并且该对象的属性之一是枚举 当对象绑定到 GridView 行时 我试图在枚举上使用 TypeConverter 来使用说明 它看起来不像我的EnumConverter Con
  • ImportError:libcublas.so.9.0:无法打开共享对象文件

    目前我在 Gpu 支持系统中安装了 cuda 8 0 和 cuda 9 0 我在从 keras 模块导入时遇到了这个错误 它说无法加载本机张量流运行时 我收到的错误日志是 Traceback most recent call last Fi
  • ViewTreeObserver 布局的 getHeight() 返回零

    我在用视图树观察者 in OnCreate获取工具栏和底部布局高度的方法 但我仍然得到0 height 为什么 难道我做错了什么 这就是我的调用方式 ViewTreeObserver viewTreeObserver toolbar get
  • 将内容添加到 Django Admin 中的每个视图(base_site.html)

    我想将对象列表传递到 Django 管理中的自定义模板 删除视图 and 更改视图 我修改了 base site html 以包含导航栏 并且我想从视图中将对象列表传递到导航栏 我之前也为 django admin index change
  • 重载方法的 Javadoc 重用

    我正在开发一个 API 其中包含许多名称相同的方法 只是签名有所不同 我认为这相当常见 它们都做同样的事情 除了如果用户不想指定的话 它们会默认初始化各种值 作为一个易于理解的例子 考虑 public interface Forest pu
  • 如何以编程方式创建 localdb .mdf?

    如何以编程方式创建 localdb mdf 可接受的解决方案excludeVisual Studio ssms aspnet regsql 一个简单的解决方案可能看起来像这样 static void Main string args usi
  • 如何直接从 Android 应用程序发送电子邮件而不显示设备的默认电子邮件格式?

    我正在构建一个从 Android 应用程序发送电子邮件的表单 我使用 Intents 发送电子邮件 即 Intent sendIntent sendIntent new Intent Intent ACTION SEND 我的要求是我希望立
  • SSMS 结果作为可点击的链接

    我对 SQL 相当陌生 我环顾四周 看看是否可以找到一种方法来做到这一点 如果可能的话 这是我的 SQL 查询文本 SELECT CONCAT https domain 8080 analyzer sipid SIPCallId cmd G
  • 有没有办法让 PHP 详细加载类,指示 .php 文件的完整路径?

    我想让 PHP 在加载类时将调试信息 包括 php 文件的完整路径 打印到标准错误 例如 从 path to my class MyClass php 加载 MyClass 有没有办法在不事先知道源文件在哪里的情况下做到这一点 编辑以澄清我
  • after_commit 回调被调用多次

    更新 对 update attributes 的调用是否会获取它自己的事务 我看过this https stackoverflow com questions 7603448 rails after save callback being
  • 如何设置bluepy无需sudo即可扫描的环境?

    我编写了一些 Python 脚本 用于扫描设备 如果它们与 名称 匹配 我就会连接到它们并做一些蓝色的事情 该脚本是建立在bluepy module 我认为我不喜欢的是 我需要运行设备扫描sudo like sudo python3 get
  • 如何使用 mongodb 聚合框架获取运行总计?

    我对 MongoDB 相当陌生 正在使用聚合框架 文档中的示例之一显示以下内容 它返回每月新用户加入的总数并列出加入的月份 db users aggregate project month joined month joined group
  • .htaccess 的公共目录

    我在index php中有一个调度程序函数 因此URL如下 博客 显示转到 index php blog show
  • 获取我们所有私人仓库的列表

    我想获取我们组织 github 中所有私有存储库的列表 我试过 curl u user pw X GET https api github com orgs xxx repos per page 100 gt gt list txt 我发现
  • 如何在 jQuery 中处理按钮点击事件?

    我需要一个按钮并在 jQuery 中处理它的事件 我正在编写这段代码 但它不起作用 我错过了什么 div class demo br br br div
  • java 中类型擦除如何工作?

    我正在浏览 TypeErasure 主题http download oracle com javase tutorial java generics erasure html http download oracle com javase
  • 打包具有依赖项的 Android AAR

    我想将我的库打包为 aar 该库有几个依赖项 通用图像加载器 ORMLite guava 它还依赖于我编写的另一个库 称为 库 B 我有两个问题 请问每个将使用我的库的人都需要根据库的依赖项添加依赖项 通用图像加载器 ORMLite gua
  • 检测字符串中的垃圾字符

    我想允许用户输入字符 数字和特殊字符 但不允许输入 ascii 值大于 127 的垃圾字符 例如 等 我有这样的功能 for int i 0 i lt value Length i value is input string if int