如何从给定的输入字符串(英文字母)中查找宽字符?
我有一个业务要求,通过考虑宽字符(长度2)和普通字符(长度1),获得最大长度为12的姓氏(英文字母)。在此基础上,输入框应接受字符数。
发布于 2011-12-02 10:58:37
已更新
如果您正在谈论亚洲字符(如日语全角),那么这里有一种方法。
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
}发布于 2011-12-02 12:10:25
我之前研究过这个问题,String类的Length属性告诉您字符数,而不是字节数。您可以这样做:当字符串的长度大于12时,返回剩余的12个字符。字符串中可以包含最多24个字节的任何内容。
https://stackoverflow.com/questions/8351046
复制相似问题