2

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

4

1 回答 1

3

Lua 5.2 及更早版本对 Unicode 的支持很少。

(upcomming) Lua 5.3 提供了一个基本的 UTF-8 库。但是,它仍然不知道字符的含义(例如什么是空白字符)。在使用utf8.codes.

--table to be filled 
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 'whitespace found'
        end
    end
end
于 2014-04-29T06:52:55.557 回答