2014-04-29 54 views

回答

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