gpt4 book ai didi

string - Lua尾随空间删除

转载 作者:行者123 更新时间:2023-12-01 15:29:20 24 4
gpt4 key购买 nike

我在NodeMCU环境中使用Lua。我看到了空白修剪presented in this question的方法。

答案建议采用以下形式:

str = string.gsub(str, "%s+", "")

我发现它没有任何作用。这是来自交互式命令的输出(使用LuaLoader)。
> print("|",part1,"|")
| 172.16.0.19 |
> part1a = string.gsub(part1, "%s+", "")

> print("|",part1a,"|")
| 172.16.0.19 |
>

如果我以十六进制检查字符串,则会看到有一些选项卡。显然%s(空白模式)不认为制表符是空白。是否存在导致%s匹配制表符(0x09)的设置?

最佳答案

print函数打印其参数,并在它们之间带有制表符(使用tostring将其转换为字符串之后)。要正确检查这一点,请使用io.write(在其参数之间不添加制表符,而仅将数字转换为字符串):

str = '   172.16.0.19 '
stripped = string.gsub(str, '%s+', '')
io.write('|', str, '|\n')
io.write('|', stripped, '|\n')

请注意,这将删除所有空格和换行符,即使它们在字符串中也是如此。要删除任一端的:
str = string.gsub(str, '^%s*(.-)%s*$', '%1')

或在行尾和字符串末尾:
str = string.gsub(str, '[ \t]+%f[\r\n%z]', '')

关于string - Lua尾随空间删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51181222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com