Python:在字符串中查找一系列汉字并应用函数

标签 python regex

我有一系列文本,大部分是英文,但包含一些带有中文字符的短语。举两个例子:

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/

相关文章:

python - 加载/解析数学编程系统文件

python - 正态分布概率密度可以大于 1 吗?...基于 python 代码检查

Java:如果使用Pattern.quote(),是否保证在编译期间不会抛出PatternSyntaxException?

Java 正则表达式 : extract a substring from a pattern occurring multiple times

python - 如何使用 scrapy 抓取 Instagram 查询?

python - 应用程序在另一台计算机上执行时以错误的大小显示小部件

正则表达式:不仅仅是电子邮件中的数字

javascript - 如何在javascript中检测字符串中的空格

regex - 如何处理正则表达式中的双引号?

python - 从具有定义的起点和终点的字符串中提取子字符串