我想使用Lua在文件中搜索Unicode whitespace chars。对于ASCII,我们可以使用%s
,但我没有找到任何东西来搜索Unicode文件中的空白字符。
答案 0 :(得分: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