Python:在字符串中查找一系列汉字并应用函数
问题内容:
我有一系列的文本,大部分是英文的,但是包含一些带有汉字的短语。这是两个示例:
s1 = "You say: 你好. I say: 再見"
s2 = "答案, my friend, 在風在吹"
我正在尝试查找每个中文块,应用一个函数来翻译文本(我已经有办法翻译),然后将翻译后的文本替换为字符串。所以输出将是这样的:
o1 = "You say: hello. I say: goodbye"
o2 = "The answer, my friend, is blowing in the wind"
通过执行以下操作,我可以轻松找到汉字:
utf_line = s1.decode('utf-8')
re.findall(ur'[\u4e00-\u9fff]+',utf_line)
…但是最后我得到了所有汉字的列表,无法确定每个短语的开始和结束位置。
问题答案:
您总是可以re.sub()
在python中使用匹配的正则表达式的就地替换 。
尝试这个:
print(re.sub(r'([\u4e00-\u9fff]+)', translate('\g<0>'), utf_line))