正则表达式 – 在字符串中替换表情符号会产生奇数字符
发布时间:2020-12-14 05:47:28 所属栏目:百科 来源:网络整理
导读:我有这个字符串:s =’??????вьетнам’ 我想从中删除表情符号. 所以我在做: import reemoji_re = re.compile(u'[' u'U0001F300-U0001F64F' u'U0001F680-U0001F6FF' u'u2600-u26FFu2700-u27BF]+',re.UNICODE)new = emoji_re.sub(r'',s) 这给
我有这个字符串:s =’??????вьетнам’
我想从中删除表情符号. 所以我在做: import re emoji_re = re.compile(u'[' u'U0001F300-U0001F64F' u'U0001F680-U0001F6FF' u'u2600-u26FFu2700-u27BF]+',re.UNICODE) new = emoji_re.sub(r'',s) 这给了我一个奇怪的结果,我显示为截图,因为我无法复制并粘贴它. 奇怪的是,你可以看到“打印”显示正确的结果.为什么会这样? 解决方法
我用这段代码给了ide??one一个镜头:
import re s = '?????' emoji_re = re.compile(u'[' u'U0001F300-U0001F64F' u'U0001F680-U0001F6FF' u'u2600-u26FFu2700-u27BF]+',s) print(new) 而且输出是空的.只是因为我加入了: print(len(new)) 哪个输出:
我很高兴看到我们正在处理不可打印的字符,这就是为什么你不能把它粘贴在这里.将字符串编码为utf-8: print(new.encode("utf-8")) 输出
看看unicodelookup似乎正则表达式错过了这个字符: variation selector-16 0xFE0F (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |