Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何删除文本的最后一个字符?_String_Lua - Fatal编程技术网

String 如何删除文本的最后一个字符?

String 如何删除文本的最后一个字符?,string,lua,String,Lua,我有以下代码: text = "sometext" print( string.sub(text, ( #text - 1 )) ) 我想删除文本中的最后一个字符您可以这样做: text = "sometext" <-- our string text = text:sub(1, -2) print(text) <-- gives "sometex" 中的索引-2表示最后一个字符中的第二个字符。您的代码有什么问题?@Deduplicator正在询问Unicode组合字符。它们必须

我有以下代码:

text = "sometext"
print( string.sub(text, ( #text - 1 )) )
我想删除
文本中的最后一个字符

您可以这样做:

text = "sometext" <-- our string
text = text:sub(1, -2)
print(text) <-- gives "sometex"

中的索引
-2
表示最后一个字符中的第二个字符。

您的代码有什么问题?@Deduplicator正在询问Unicode组合字符。它们必须跟在非组合字符后面。因此,有了一个组合字符列表,您可以回溯。或者使用像ICU这样的图书馆。
function deleteLastCharacter(str)
return(str:gsub("[%z\1-\127\194-\244][\128-\191]*$", ""))
end

for _, str in pairs{"❤✱♔" }do
print( deleteLastCharacter(str))
end
text = text:sub(1, -2)