判断字符是英文还是中文
lua吧
全部回复
仅看楼主
level 8
oO幻想FLyOo 楼主
UTF-8下有一连串字符串,里面有中文也有英文
现在问题是中英长度不一样,求解怎么判断每个字符究竟是中文还是英文?
2014年09月29日 09点09分 1
level 8
迭代每个字节,string.byte 成那个什么什么码,如果大于127 就是中文或者非英文(泰文啊,韩文啊etc,), 不然就是英文(包括英文符号)。
我就是这样判断的,当然高级的可以自己写一个表,把每一个对应的码值属于什么的列出来,就行了。
2014年09月29日 13点09分 2
嗯,昨天我也是这样子写的,不过取一个中文字符出来很麻烦,要string.sub(str, i, i + 2)才行
2014年09月30日 01点09分
level 14
来自lua 5.3的提醒
2014年09月30日 03点09分 3
牛逼[真棒]
2014年09月30日 04点09分
我看书的时候跳过了这个函数神马的我不会说出来的 [呼~] 今晚回家补一补
2014年09月30日 07点09分
level 1
[大拇指]
2014年10月08日 01点10分 4
level 14
lua 5.1要这样写:"[\\0-\127\194-\244][\128-\191]*"
2014年12月04日 03点12分 6
for uchar in string.gfind(ustring, "([%z\1-\127\194-\244][\128-\191]*)") do -- something end 这样应该“空格”也包括了
2015年07月26日 12点07分
level 7
utf8.codes直接迭代…
2017年01月17日 00点01分 10
1