我有一個字符串數據集,有些字符串包含混合詞,如下所示: ????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但這段代碼沒有顯示我想要的輸出。有可能得到類似的輸出嗎?
2 回答

一只甜甜圈
TA貢獻1836條經驗 獲得超5個贊
您可以使用re.findall
交替模式:
def spliteKeyWord(s): return re.findall(r'[\dA-Za-z]+|[^\dA-Za-z\W]+', s, re.UNICODE)

白衣非少年
TA貢獻1155條經驗 獲得超0個贊
參考這個問題,你可以使用這個正則表達式來解析非 ascii 字符:
words = ['12????World','??????digital','2012???good']
for w in words:
re.split(r'([^\x00-\x7F]+)', w)
# ['12', '????', 'World']
# ['', '??????', 'digital']
# ['2012', '???', 'good']
這將拆分非 ascii 單詞之間的所有內容。
添加回答
舉報
0/150
提交
取消