首页 > 解决方案 > 如何在python中分离混合词(波斯语和英语)

问题描述

嗨,我有一个字符串数据集,有些字符串有混合词,如下所示:

    سلام12World
    دوربینdigital
    سال2012good

...我想要的输出是:

   12 سلام world
   دوربین digital
   2012 سال good

这是我的代码:

 def spliteKeyWord(str):
     regex = r"[\u200b-\u200c]|[0-9]+|[a-zA-Z]+\'*[a-z]*"
     matches = re.findall(regex, str, re.UNICODE)
     return matches

但是这段代码没有显示我想要的输出。是否有可能获得类似的输出?

标签: pythonnlp

解决方案


您可以使用re.findall交替模式:

def spliteKeyWord(s):
    return re.findall(r'[\dA-Za-z]+|[^\dA-Za-z\W]+', s, re.UNICODE)

推荐阅读