此任务的关键标准函数是utf8.offset(s,n),它给出 s 第 n 个字符的起始位置(以字节为单位)。
所以试试这个:
print(string.sub(s,utf8.offset(s,3),-1))
Run Code Online (Sandbox Code Playgroud)
您可以定义utf8.sub如下:
function utf8.sub(s,i,j)
i=utf8.offset(s,i)
j=utf8.offset(s,j+1)-1
return string.sub(s,i,j)
end
Run Code Online (Sandbox Code Playgroud)
(此代码仅适用于 Positive j。有关一般情况,请参阅http://lua-users.org/lists/lua-l/2014-04/msg00590.html 。)