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

时间:2011-12-02 02:25:12

标签: c#

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

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

2 个答案:

答案 0 :(得分:1)

<强>已更新

如果你在谈论亚洲人物(如日本全角),那么这是一种方式。

    public static bool isZenkaku(string str)
    {
        int num = sjisEnc.GetByteCount(str);
        return num == str.Length * 2;
    }

您可以这样使用它:

        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 :(得分:-1)

我刚才看过这个,String类的Length属性告诉你字符数而不是字节数。你可以做一些事情,当字符串的长度大于12时,返回左边的12个字符。字符串中最多可包含24个字节。