当前位置: 首页 > 科技观察

每日一技能:如何去除所有不可见字符?

时间:2023-03-20 16:29:25 科技观察

这篇文章:隐写术:如何正确保护文章的版权?,我介绍了两个特殊的数字:8204和8205。当我们使用chr函数将它们转换成字符串时,我们可以得到两个零宽字符。零宽字符肉眼不可见,无法打印。事实上,在整个Unicode字符集中,还有很多这样的不可见字符。比如下面这句话:Seewhat'shiddeninyourstring...orbehind如果在Python中使用repr函数显示字符串真实的样子,就可以看到里面到底有哪些字符:那么,现在问题来了。如果给你一个字符串,你如何删除其中所有不可见的字符?既然你不知道其中有哪些不可见字符,显然不可能通过穷举的方法将它们一一去除。那么,我们应该如何将它们全部删除呢?这时候我们可以使用字符串的.isprintable()方法。此方法对可见字符返回True,对不可见字符返回False。例如:那么,对于上面的字符串,我们可以使用这个方法来去除所有不可见的字符,如下图:代码。转载本文请联系Code公众号。