首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从给定的输入字符串中查找宽字符?

如何从给定的输入字符串中查找宽字符?
EN

Stack Overflow用户
提问于 2011-12-02 10:25:12
回答 2查看 1.8K关注 0票数 2

如何从给定的输入字符串(英文字母)中查找宽字符?

我有一个业务要求,通过考虑宽字符(长度2)和普通字符(长度1),获得最大长度为12的姓氏(英文字母)。在此基础上,输入框应接受字符数。

EN

回答 2

Stack Overflow用户

发布于 2011-12-02 10:58:37

已更新

如果您正在谈论亚洲字符(如日语全角),那么这里有一种方法。

代码语言:javascript
复制
    public static bool isZenkaku(string str)
    {
        int num = sjisEnc.GetByteCount(str);
        return num == str.Length * 2;
    }

您可以这样使用它:

代码语言:javascript
复制
        string test = "testTEST!+亜+123!123";
        var widechars = test.Where(c => isZenkaku(c.ToString())).ToList();
        foreach (var c in widechars)
        {
            Console.WriteLine(c); //result is TEST!+亜123

        }
票数 1
EN

Stack Overflow用户

发布于 2011-12-02 12:10:25

我之前研究过这个问题,String类的Length属性告诉您字符数,而不是字节数。您可以这样做:当字符串的长度大于12时,返回剩余的12个字符。字符串中可以包含最多24个字节的任何内容。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8351046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档