【问题标题】:How to delete the last character of the text?如何删除文本的最后一个字符?
【发布时间】:2014-09-08 01:30:43
【问题描述】:

我有以下代码:

text = "sometext"
print( string.sub(text, ( #text - 1 )) )

我想删除text中的最后一个字符。

【问题讨论】:

  • 你的代码有什么问题?

标签: string lua


【解决方案1】:

你可以这样做:

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

为了❤✱♔”我喜欢这种方式

function deleteLastCharacter(str)
return(str:gsub("[%z\1-\127\194-\244][\128-\191]*$", ""))
end

for _, str in pairs{"❤✱♔" }do
print( deleteLastCharacter(str))
end

【讨论】:

  • @Deduplicator 询问有关 Unicode 组合字符的问题。它们必须遵循非组合字符。所以,有了一个组合字符列表,你可以回溯。或者使用像 ICU 这样的库。
【解决方案2】:
text = text:sub(1, -2)

string.sub 中的索引-2 表示倒数第二个字符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 2014-09-15
    • 1970-01-01
    相关资源
    最近更新 更多