我有一系列文本,大部分是英文,但包含一些带有中文字符的短语。举两个例子:
s1 = "You say: 你好. I say: 再見"
s2 = "答案, my friend, 在風在吹"
我正在尝试找到每个中文 block ,应用一个翻译文本的函数(我已经有办法进行翻译),然后替换字符串中的翻译文本。所以输出会是这样的:
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)
...但我最终得到了所有汉字的列表,无法确定每个短语的开始和结束位置。
最佳答案
您始终可以通过在 python 中使用 re.sub()
来就地替换匹配的正则表达式。
试试这个:
print(re.sub(r'([\u4e00-\u9fff]+)', translate('\g<0>'), utf_line))
关于Python:在字符串中查找一系列汉字并应用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40122058/