C# 某些象形文字语言中的单词计数器?

C# 某些象形文字语言中的单词计数器?,c#,ms-word,word-count,text-segmentation,C#,Ms Word,Word Count,Text Segmentation,是否有一些象形文字语言(例如:中文、日文、韩文……)的字数库 我发现MS Word可以有效地统计这些语言中的文本。我能否在.NET应用程序中添加对MS Word库的引用以实现此功能 或者是否有其他解决方案来实现这一目的 有些象形文字语言(例如:中文、日文、韩文……)有没有可用的字数库 象形文字?不,他们不是。它们是符号字符,差别并不那么细微。我相信一些母语人士可能会比我解释得更好 日文和中文文本由字符组成,与西方语言完全相同,但一个字符可能是一个单词。此外,它们不需要空格来分隔单词,因此不能使用

是否有一些象形文字语言(例如:中文、日文、韩文……)的字数库

我发现MS Word可以有效地统计这些语言中的文本。我能否在.NET应用程序中添加对MS Word库的引用以实现此功能

或者是否有其他解决方案来实现这一目的

有些象形文字语言(例如:中文、日文、韩文……)有没有可用的字数库

象形文字?不,他们不是。它们是符号字符,差别并不那么细微。我相信一些母语人士可能会比我解释得更好

日文和中文文本由字符组成,与西方语言完全相同,但一个字符可能是一个单词。此外,它们不需要空格来分隔单词,因此不能使用空格作为分隔符来区分字符/单词

Word所做的是计算单词数(假设它们等于字符数),您可以在代码中执行相同的操作(只是不要忘记它是UNICODE,所以无法计算字节数)计算字符数。要计算真正的单词,你需要一本字典(因为你不能依赖空格)

例如,这些字符串:

这是一个示例文本

これは、サンプルのテキストです

将按8字8字(中文)和15字15字(日文)计算。事实上不是(例如,在日语中,它是5个单词,用罗马体音译)。此外,不要忘记在日语中,它们有不止一个字母表(其中一个是拼音)

重点是什么您将计算多少?我们用来表示它们的一种语音表示法(带有拉丁字符)的音译词?哪一个?单词计数将是非常不同的,它实际上会计算我们的单词概念(这就是为什么,我想,单词计数字符)

也就是说,现在尝试编写以下代码:

string text = "这是一个示例文本";
MessageBox.Show(text.Length.ToString());
它将显示8,就像Word一样(我们正在计算字符),字节(假设UTF-8编码)是24。在这里数空格没有意义。如果你计划在一个音译中计算单词数,你需要使用一个外部库(这不是一个简单的任务,你自己做),为你想要支持的每种语言使用一个不同的库(自动检测语言很容易,因为在日语中他们经常使用平假名/片假名字符)。哪一个?有很多汉字,我不知道中文是什么,但在日语中,音译汉字很流行


韩语是一个完全不同的故事,它是一个和拉丁语完全相同的字母表,但字符(应该称为音节)可能由许多字母组成。同样,它们不需要空格,所以你不能依赖它们来计算单词。它更复杂,因为在这里,你可能甚至需要一本字典来计算字符(否则你只需要计算音节)。

象形文字?他们不是!!!:)日文和中文文本由字符组成,与西方语言完全相同(但一个字符是/可能是一个单词,如果您记得必须计算字符而不是字节,则可以计算它们)。韩国语有一个拼音字母……甚至象形文字也是“古埃及人使用的一种正式书写系统,结合了符号和字母元素”,实际上。尽管韩国语在字符之间有空格。我注意到MS Word通过计算字符来计算文本中的单词数。这对中国人和日本人都是一样的。有趣的是,我意识到Google Doc的单词计数功能在以下语言中工作不正确:D@JinHo他们(韩国人)有空格(和中国人和日本人一样),但这不是严格要求的。在任何一种语言中看到没有任何空格的长文本都是很常见的。嗯……是的。。。我们的软件对远东语言来说并不是很好(而且在某种程度上仍然不是),特别是当它们与我们的概念太不一致时。全球化/本地化过程往往不仅仅是UNICODE支持(但我们理解得很慢)。@JinHo哦,你来自越南!!!伟大的国家!!!即使,不止一次,我害怕在胡志明过马路时死去!:)HCM的街道很拥挤,但很安全。这里的人很会开车,你可以相信他们:D