如何从给定的输入字符串(英文字母)中找到宽字符?
我有一个业务要求,通过考虑宽字符(长度2)和普通字符(长度1)来获得最大长度为12的姓氏(英文字母)。基于此,输入框应该接受字符数。
答案 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个字节。