s = '\ue1f4\n\ue89d'
def fun(s):
s.replace(r'\u','')
return s
print(fun(s))
输出:
怎样才能让它输出1f4\ne89d?
说明:是对传过来的s去掉\u,而非直接对'\ue1f4\n\ue89d'去掉\u
s = '\ue1f4\n\ue89d'
def fun(s):
s = s.encode("unicode_escape").decode()
s = s.replace(r'\u', '')
return s
print(fun(s))
得到
e1f4\ne89d
大佬 能解释一下原理么?
@hhwwww: 传过来的是unicode编码的字符串。你需要处理编码而不是字符串,所以encode()获取到编码,你需要按照str去替换,所以又把编码decode解码为字符串。如果使用decode("unicode_escape")就是不变的,也可以使用str()强转,但是那样单独要处理一些字符。
@Masako: 哈,虽然不是太明白,还是谢谢了~~
@Masako: 大佬,能帮我解决我的另一个博问吗?刚发的