Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unicode 如何使日语标准化,以便在Lua中检查禁止使用的单词?_Unicode_Lua_Word_Cjk - Fatal编程技术网

Unicode 如何使日语标准化,以便在Lua中检查禁止使用的单词?

Unicode 如何使日语标准化,以便在Lua中检查禁止使用的单词?,unicode,lua,word,cjk,Unicode,Lua,Word,Cjk,半幅、全幅、片假名、平假名、汉字和使用替代字符(例如そ 而不是ん). Python有一个名为的包,它可以帮助我做我需要做的事情。我想将字符串转换成标准形式,这样我就可以查看我的受限单词列表 这在Lua中是否可能?为了能够在平假名、片假名和半宽片假名之间转换字符串,您可以将各自的字母字符存储在不同的表中,并在它们之间添加映射(通过索引或键) 从源代码()来看,jcconv也是这样做的 例如,如果要将平假名转换为片假名,可以执行以下操作: 设置一个表,其中每个元素定义为[hiragana]=kat

半幅、全幅、片假名、平假名、汉字和使用替代字符(例如そ 而不是ん).

Python有一个名为的包,它可以帮助我做我需要做的事情。我想将字符串转换成标准形式,这样我就可以查看我的受限单词列表


这在Lua中是否可能?

为了能够在平假名、片假名和半宽片假名之间转换字符串,您可以将各自的字母字符存储在不同的表中,并在它们之间添加映射(通过索引或键)

从源代码()来看,jcconv也是这样做的

例如,如果要将平假名转换为片假名,可以执行以下操作:

  • 设置一个表,其中每个元素定义为
    [hiragana]=katakana
  • 逐个字符迭代字符串,如果是这样的话,则进行替换(我发现一个小库正好可以做到这一点:提供一个接受映射表的替换函数)

什么使一个词被禁止?这是什么意思?你可以从将文本从Unicode NFC转换为NFKC开始。这应该考虑到很多等价性,比如半宽与全宽、分解形式等。这对你处理像そ 对于ん 或者类似的事情(人们真的这么做吗?这两个角色听起来根本不一样!)当用片假名写的时候,ソ 及ン 相像