You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中检测字符串首字符是否为非ASCII项目符号•

在C#中检测字符串首字符是否为非ASCII项目符号•

没问题,这个需求其实很容易实现,我给你两种实用的方法,还会提醒你需要注意的细节:

方法一:直接对比Unicode字符值

项目符号•的Unicode编码是U+2022,我们可以直接在代码中用转义字符\u2022来表示它,然后和字符串的第一个字符做对比。记得先判断输入的有效性,避免空引用或者索引越界的问题:

public bool StartsWithBullet(string input)
{
    // 先确保输入不是null或空字符串
    if (string.IsNullOrEmpty(input))
        return false;
    
    // 定义项目符号的字符常量
    const char BulletCharacter = '\u2022';
    // 对比第一个字符
    return input[0] == BulletCharacter;
}

方法二:使用StartsWith方法匹配

如果你更习惯用字符串匹配的方式,也可以先把Unicode编码转换成字符串,再调用StartsWith方法:

public bool StartsWithBulletUsingString(string input)
{
    if (string.IsNullOrEmpty(input))
        return false;
    
    // 通过Unicode编码生成项目符号字符串
    string BulletString = char.ConvertFromUtf32(0x2022);
    return input.StartsWith(BulletString);
}

额外注意事项

  • 输入有效性检查:这一步非常重要!如果直接访问input[0]或者调用StartsWith时输入是null,会直接抛出异常,所以一定要先判断string.IsNullOrEmpty(input)。
  • 前导空格处理:如果你的场景中字符串可能存在前导空格(比如用户输入时不小心加了空格),可以先对字符串做TrimStart()处理,再进行判断,比如input.TrimStart()[0],不过这要根据你的实际需求来决定。
  • 符号唯一性:如果需要区分类似的符号(比如全角项目符号或者其他类似的圆点符号),可以扩展判断逻辑,添加更多的Unicode字符对比。

内容的提问来源于stack exchange,提问作者asdasd2a43qaad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:54:35