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

Created: Nov. 29, 2017, 5 p.m. Updated: June 4, 2018, 5:35 p.m.

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

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

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'张某某')

python版的好理解,正则的就呵呵了