如何使用正则表达式或任何实用程序类将包含中文,日文或英文的字符串拆分为单词?
示例1:
根据从2013年的一项研究,由一群来自美国俄亥俄州立大学的研
输出1:
根据从2013年的一项研究,由一群来自美国俄国俄州立大学的研究
示例2:
根据美国研究小组2013年的一项研究
输出2:
根据,2013年,研究,研究,小组,来自,美国,
确定输入字符串不会将英语与日语混合 - 两者都将以单独的字符串形式出现;但是,英文字符串也应该被这段代码拆分:
words = input.split("[ ./()\\[\\]=,<>;\"']+");
如果在Java中无法做到这一点,请建议非英语输入字符串是否只能用空白字符分隔。
答案 0 :(得分:3)
我认为你可能对中国人(也可能是日本人,但我不太了解它)的问题是,单词中断是上下文的。有时两个字符将是两个单独的单词,有时相同的两个字符将是一个单词。
所以我认为你需要解析文本才能做到这一点。
答案 1 :(得分:1)
示例1:
根据从2013年的一项研究,由一群来自美国俄亥俄州立大学的研
输出1:
根据从2013年的一项研究,由一群来自美国俄国俄州立大学的研究
这是不正确的中文。 正确的输出应该是:
根据从2013年的一项研究,由一群来自美国俄亥俄州立大学的研
你需要一个中文单词库才能做到这一点。