我正在Go写一个程序来生成我大学的犯罪报告。我遇到了障碍,我需要找到一个单词是否是另一个单词的复数。我正在制作犯罪地图
crimes := make(map[string]int)
然后,将犯罪添加到地图中,其出现次数为int
for i := 0; i < len(feed.Items); i++ {
crimes[feed.Items[i].Title[11:]]++
}
现在,当存在诸如“武装抢劫(数量为1)”和“武装抢劫(数量为2)”之类的条目时,问题就出现了。我想检查一个单词是否是另一个单词的复数。在这种情况下,我想为“武装抢劫(数量为3)”制作一个条目。我找不到这样做的包。有没有办法做到这一点?
答案 0 :(得分:3)
您要找的是变形。基本上,它是决定一个词的各种形式的黑色艺术,特别是复数形式的单数形式,或相反的。
有这样的库,主要来自Ruby On Rails ActiveSupport::Inflector
系统,例如参见https://github.com/jinzhu/inflection。
另见http://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.html有关英语复数化算法的非常有趣的读物。