小编Mas*_*son的帖子

可以通过编程方式对日语汉字进行排序吗?

我最近发现,令我惊讶的是(之前从未真正考虑过),机器分类日本专有名词显然是不可能的.

我的应用程序必须允许用户从3菜单界面中选择医院.第一个菜单是"县",第二个菜单是"城市名",第三个菜单是"医院".每个菜单都应按照您的预期进行排序,以便用户可以在菜单中找到他们想要的内容.

让我概述一下我发现的内容,作为我的问题的序言:

  1. 日语单词的预期排序顺序取决于他们的发音.汉字没有固有的顺序(有成千上万的汉字使用),但日语拼音音节确实有一个顺序:あ,い,う,え,お,か,き,く,け,こ..以及50种传统的不同声音(其中一些在现代日语中已经过时).这种排序称为五十音顺(gojuu on jun,或'50 -sound order').

  2. 因此,汉字单词的排序顺序应与平假名单词一样.(您可以用日语表示拼音平假名中的任何汉字词.)

  3. 踢球者:没有规范的方法来确定用汉字书写的给定单词的发音.你永远都不会知道.根据单词,一些汉字有十个或更多不同的发音.字典中有许多常用词,我可能会在一起从一个免费词典数据库中查找它们,但是专有名词(例如医院名称)不在词典中.

因此,在我的申请中,我列出了日本的每个县,市和医院.为了对这些列表进行排序,这是一个要求,我需要一个以语音形式(假名)的每个名称的匹配列表.

除了付一些流利的日语(我只是马马虎虎)来手动转录它们之外,我无法想出任何其他的东西.在我这样做之前:

  • 难道我完全高红火,其实有一些办法做到这一点不排序创造我自己的汉字词映射拼音读物,我莫名其妙地忽略了?

  • 是否公开提供州/市名称的映射,来自政府或其他什么?这将减少我只需要对医院名称进行的手动映射.

  • 有没有人对如何解决这个问题有任何其他建议?任何编程语言都很好 - 我正在使用Ruby on Rails,但如果我能编写一个能够接受汉字输入的程序(比如40,000个专有名词)然后输出语音表示作为我可以的数据,我会很高兴导入我的Rails应用程序.

宜しくお愿いします.

sorting unicode localization

17
推荐指数
3
解决办法
6716
查看次数

什么是日本的空白字符?

我需要拆分一个字符串并提取由空白字符分隔的单词.来源可能是英文或日文.英文空白字符包括制表符和空格,日文文本也使用这些字符.(IIRC,所有广泛使用的日语字符集都是US-ASCII的超集.)

因此,我需要用来分割字符串的字符集包括普通的ASCII空格和制表符.

但是,在日语中,还有另一个空格字符,通常称为"全宽空间".根据我Mac的角色查看器实用程序,这是U + 3000"IDEOGRAPHIC SPACE".这是(通常)当用户在日语输入模式下键入时按空格键时的结果.

我还需要考虑其他角色吗?

我正在处理被告知"用空格分隔条目"的用户提交的文本数据.但是,用户正在使用各种计算机和移动电话操作系统来提交这些文本.我们已经看到用户在输入此数据时可能不知道他们是处于日语输入模式还是英语输入模式.

此外,即使在日语模式下,空间键的行为也会因平台和应用程序而异(例如,Windows 7将插入表意空间,但iOS将插入ASCII空间).

所以我想要的基本上是"视觉上看起来像空格的所有角色的集合,可能是在用户按空格键时生成的,或者是tab键,因为许多用户不知道空格和制表符之间的区别,日语和/或英语".

对这样的问题有任何权威的答案吗?

unicode whitespace text tokenize cjk

11
推荐指数
1
解决办法
9054
查看次数

为什么千位分隔符称为"分组分隔符"?

在许多编程语言中,千位分隔符(例如,美国字符串"1,000"中的",")被称为"分组分隔符".为什么是这样?

是否有任何真实的区域设置将写入的整数分开到其他边界?人们在某处写的数字是86,75,30,9或8675,309吗?如果是这样,那些区域设置是什么?

今天在Objective-C中出现了这个问题,当时我不记得常量的名称来找到这个分隔符的字符串.我正在输入"NSThou",没有任何内容是自动完成的.我不得不去提醒文档,你这样得到它:

NSLocale *loc = [NSLocale currentLocale];
NSString *sep = [loc objectForKey:NSLocaleGroupingSeparator];
Run Code Online (Sandbox Code Playgroud)

但是,这不是Objective-C的具体内容; 我从旧的Java时代回忆起它被称为同样的事情.(Python人员,OTOH,似乎称之为" 千位分隔符 ".)

java locale objective-c number-formatting

3
推荐指数
1
解决办法
1730
查看次数