我做一个程序。该程序得到一个 utf8 字符串并将其拆分为单词。对于拉丁字符,这很简单。根据空间划分。对于汉字,也很简单。每个字符都是一个词。
如果字符串是混合的怎么办?
我应该怎么办?
我想我可以检测到这个字符是否是中文,或者这个字符是空格分隔的单词还是没有分隔的单词。
这样做的标准方法是什么?
例如我想拆分
或者,也许我应该根据任何非字母数字(包括非拉丁脚本和重音符号上的其他字母数字?)进行拆分。如果是这样,我应该如何进行?是否有一个正则表达式可以匹配任何不是字母数字、重音词、希伯来语 alibeth、阿拉伯语 abjad 等等的东西?
我喜欢马成
I
Like
Horse
我想把北小金駅南口第1个自転车驻车场分成
北
小
金
駅
南
...
因为中文中的每个字符都是单词。
使这个问题变得棘手的是汉字和西方字符之间的分词不同。西文用空格隔开,汉字用空隔开。
我想我们可以在拆分之前先检测字符是否为中文。那会很好,但是我也不知道该怎么做。