Unicode 如何计算Go lang中的日语单词

Unicode 如何计算Go lang中的日语单词,unicode,go,Unicode,Go,在Go Tour中,它给人一个很好的印象,Unicode是开箱即用的 在其他编程语言(php)中,计算不使用标准分隔符(如日语和汉语中的空格)的单词是一件痛苦的事情,因此,想知道是否可以使用Go编程语言计算日语(如片假名)中的单词 如果是,怎么做?答案是是。“可以用日语(如片假名)数数单词。”但首先你需要改进你的问题 读过你的短语“标准分隔符如空格”的人可能会认为单词计数是一种定义明确的操作。事实并非如此,即使是像英语这样的语言。在短语“testing123testing”中,字符串“123te

在Go Tour中,它给人一个很好的印象,Unicode是开箱即用的

在其他编程语言(php)中,计算不使用标准分隔符(如日语和汉语中的空格)的单词是一件痛苦的事情,因此,想知道是否可以使用Go编程语言计算日语(如片假名)中的单词


如果是,怎么做?

答案是。“可以用日语(如片假名)数数单词。”但首先你需要改进你的问题

读过你的短语“标准分隔符如空格”的人可能会认为单词计数是一种定义明确的操作。事实并非如此,即使是像英语这样的语言。在短语“testing123testing”中,字符串“123testing”表示一个单词,还是三个单词,还是零?“测试123”的答案不同吗?“testing
123
testing”这个短语中有多少个单词

有人可能还认为日语有“词”的概念,类似于英语,但有不同的句法习惯。这是不正确的——对于许多语言来说,比如日语、书面汉语和泰语

所以,你必须首先通过定义拉丁语文本中“单词”是什么来改进你的问题,比如英语

您想要一个基于空格字符的简单词汇定义吗?然后考虑使用。这将根据正则表达式和Unicode字符属性定义“单词边界”。本地化行业标准使用TR 29

一旦你有了自己的定义,我相信你将能够使用像和这样的Go包来实现它。我自己没做过。快速查看官方软件包列表,现有软件包似乎没有TR 29实现。但你的问题是,这是否“可能”,而不是“已经通过一个正式方案实施”

接下来,对于日语:你想要一个“单词”的简单词汇定义吗?如果是这样,Unicode TR 29将提供它。他们说,

对于泰语、老挝语、高棉语、缅甸语和其他通常不在单词之间使用空格的脚本,良好的实现不应依赖于默认的单词边界规范。它应该使用更复杂的机械装置,断线也需要这种装置。日文和中文等表意文字更为复杂。如果韩语文本没有空格,同样适用。然而,在缺乏更为复杂的机制的情况下,本附件中规定的规则提供了定义明确的违约

如果你想在日语语境中对“单词”有一个复杂的语言学定义,那么你需要开始考虑@Jhilke Dai、Sergio Tulentsev和其他撰稿人提出的问题。您需要设计“word”的规格说明。然后您需要实现它。我相信,截至2014年7月,您不会在官方围棋套餐中发现这样的实施。然而,我也相信,如果您能够设计一个清晰的规范,那么在Go中实现它是“可能的”


现在:这个答复有多少字?你是怎么数的?

你可以数符号,对吗。但是在没有分隔符的情况下数词呢?我不认为这是一种语言或它的运行时的工作。我不熟悉日语/汉语,但他们不使用任何分隔符?@其中一个他们也有空格,逗号。。。但问题是これは私の名前であり、私はそれを誇りに思っています。 看起来像两个词,但里面有10个词,大致翻译成这是我的名字,我为此感到骄傲。@SergioTulentsev,我从来没有说过它的编程语言工作。我只是想知道是否有对这个的支持,因为
Go
已经支持Unicode了。或者是一些地鼠写的图书馆。@JhilkeDai:嗯,这是一个复杂的话题。例如,是“人斬り" 一两个字(人 + 斬り )? 这比仅仅计算符号要复杂得多。(而且可能是不可能的)