2024-06-25 05:28:57 发布
网友
我想用一个字符替换重复字符来规范阿拉伯字符串。例如:单词
رااااائع
将规范化为
我找到了一个适合英语的正则表达式(python):
s="I loooooooooooooooooove you" s = re.sub(r'(.)\1+', r'\1', s) // s= "I love you"
但是,这个正则表达式不适用于阿拉伯语字符串。我不理解原因。我想知道是否有人能帮助我,并提前表示感谢。在
尝试以下操作:
import itertools string = u"رااااائع" ''.join(char for char, _ in itertools.groupby(string))
我不能用阿拉伯语测试它,但它可以用普通的字符串
参考号:itertools.groupby
您正在转换无法转换为utf-8的字符。在
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd8 in position 0: ordinal not in range(128)
我建议您使用忽略或替换:
v= var.encode('utf-8', 'ignore')
或者:
Reference
您需要在代码中添加以下行: from __future__ import unicode_literals
from __future__ import unicode_literals
# encoding: utf-8 from __future__ import unicode_literals import re s="رااااائع" s = re.sub(r'(.)\1+', r'\1', s) print s
输出:
尝试以下操作:
我不能用阿拉伯语测试它,但它可以用普通的字符串
参考号:itertools.groupby
您正在转换无法转换为utf-8的字符。在
我建议您使用忽略或替换:
或者:
^{pr2}$Reference
您需要在代码中添加以下行:
from __future__ import unicode_literals
输出:
^{pr2}$相关问题 更多 >
编程相关推荐