如何在Lua中搜索Unicode空格字符

我想在Lua中搜索文件中的Unicode空白字符。对于ASCII,我们可以使用%s,但我没有找到任何可以搜索Unicode文件中的空白字符的内容。

点赞
用户1009479
用户1009479

Lua 5.2及以下版本对于Unicode的支持很少。

即将推出的Lua 5.3提供了基本的UTF-8库。然而,它仍然不知道字符的含义(例如_什么是空白字符_)。在使用utf8.codes迭代每个码点后,需要自己完成该部分。

--将要填充的表格
local whitespace = {0x9, 0xA, 0xB, 0xC, 0xD, 0x20, 0x85, 0xA0, 0x1680, 0x2000, 0x2001}

local str = 'hello\u{2000}world\n'
for _, c in utf8.codes(str) do
    for _, v in ipairs(whitespace) do
        if c == v then
            print '已找到空白字符'
        end
    end
end
2014-04-29 06:52:55