使用正则来实现隐藏名字或姓氏

Posted on Wed 29 November 2017 in Python

如何实现姓名显示张**的效果?

今天老乡群的哥们贴了个正则,是隐藏姓氏的

replace(/.(?=.)/g, '*')

实现的效果是 张某某 显示为 **某 这样,需要改为 张** 这样的结果。

在python里我通常用字符串处理来弄,好理解。

>>> a = u'你好吗'
>>> print ''.join([a[0], '*' * (len(a) -1)])
**
>>> fn = lambda a: ''.join([a[0], '*' * (len(a) -1)])
>>> print fn(u'迪丽热巴')
***
>>>

查了下正则的写法

import re
print re.sub(ur'(?<=.).', u'*', u'张某某')