在Lua中反转字符串?

4

我正在尝试在Lua中反转一个字符串,但不使用string.reverse()函数。以下是我的代码 -

 function reverseStr(s)
   return string.gsub(s, "(.)(.)", "%2%1")
 end

目前代码只翻转字符串中的前两个字符,我想知道如何使函数翻转字符串中的每一个字符。

abc -- cba bbc -- cbb dka -- akd

谢谢!

1个回答

15

无法让Lua的模式匹配系统反转字符串。您需要编写明显的反转代码(反向迭代字符串,从反向顺序的字符串构建新表,并使用table.concat),或使用string.reverse


1
我喜欢你把好东西留到最后。我本来要通过字符串反向迭代,但你帮我省了几行代码。string.reverse(str)非常好用。 - Joe Black
1
如果由于任何原因你想要自己实现反转,请使用table + table.concat,而不是每次添加一个字符。 - val is still with Monica

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接