请问lua怎么分割中文字符串? a="我是中国人" string.len的结果是15啊? 我怎么读

请问lua怎么分割中文字符串?a="我是中国人"string.len的结果是15啊?我怎么读取第三个字"中"呢?谢谢... 请问lua怎么分割中文字符串?
a="我是中国人"
string.len的结果是15啊?
我怎么读取第三个字"中"呢?
谢谢
展开
 我来答
太阳神
推荐于2017-09-02 · 超过16用户采纳过TA的回答
知道小有建树答主
回答量:41
采纳率:0%
帮助的人:44.2万
展开全部

你的取出字符串 "我是中国人" 长度如果是 15 ,很有可能这段字符串是使用的 UTF-8 编码,在 UTF-8 编码里,一个汉字通常占 3 个字节,所以 5 个汉字占 15 个字节。


如果你能确保你的字符串全部是汉字而且全部使用 UTF8 编码的话,可以定义如下函数:

a="我是中国人"

function get_chinese_char(str, index)
local start = (index-1) * 3 + 1
return str:sub(start, start + 2)
end

print(get_chinese_char(a, 3));
追问
谢谢,刚才折腾出来了,是我编译器的问题,print出来全是乱码,结果放手机上就正确了,自己没试,白折腾半天了,谢谢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式