lua 区间比较_Lua(模糊查找):判断两个字符串(含中文)是否存在至少一个相同

用过Lua的,应该知道lua有一个截取字符串的接口,string.sub(s,i,j),就是截取字符串s,从第i个字符到第j个字符的字串,这里的一个字符是一个字节,对于英文字母还是阿拉伯数学,不管是utf8编码,还是ansi(GBK)编码,都是一样的,而且对于汉字,前者占3个字节,后者占2个字节,当然还有4个字节的汉字,那如何从一个字符串比如"bg%好-+03打@/f"中准确截取出我们需要的汉字呢,这就是我们今天需要解决的问题.

其实,在今天之前,我也不知道怎么做,我是因为要解决一个模糊查找的需求来学习到了这些

lua 区间比较_Lua(模糊查找):判断两个字符串(含中文)是否存在至少一个相同_第1张图片

lua 区间比较_Lua(模糊查找):判断两个字符串(含中文)是否存在至少一个相同_第2张图片

首先当前游戏代码是以utf8编码格式,因为我们要面向中国玩家,而且很多英语不是非常好,哈哈,所以全写英文的,玩家就看不懂了,如果ui显示文字全是英文,下面的就不需要看了

1.字符是由几个字节组成:(16进制)

[0, 0xc0) 表示这个字符仅由1个字节构成    [0,192)

[0xc0, 0xe0) 表示这个字符由2个字节构成  [192,225)

[0xe0, 0xf0) 表示这个字符由3个字节构成  [225,240)

[0xf0, 0xff) 表示这个字符由4个字节构成  [240,255)

2.如何取得字节ASCII码 :

string.byte(s,i) 或 s:

你可能感兴趣的:(lua,区间比较)