python - 如何在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
但是这段代码没有显示我想要的输出。是否有可能获得类似的输出?
解决方案
您可以使用re.findall
交替模式:
def spliteKeyWord(s):
return re.findall(r'[\dA-Za-z]+|[^\dA-Za-z\W]+', s, re.UNICODE)