因为工作上要将客户的部分资料传给第三方做进一步处理,但是因为涉及到手机号等关键个人信息,所以需要对中间四位数做匿名化的简单处理。
>>> import pandas as pd
>>> import numpy as np
# 这里需要将手机号所在列在读取时指定类型
>>> df = pd.read_excel('D:/1.xlsx', dtype={"phone":str})
>>> df
phone
0 18373827382
1 18373824382
2 18373827382
3 18373427382
4 18373857382
5 18373827382
6 18373427382
7 18373817382
# 代码也很简单,只是分别取手机号的
# 前三位和后四位并添加*号拼接
>>> df['phone_replace']=df['phone'].str[0:3] + "****" + df['phone'].str[7:]
>>> df
phone phone_replace
0 18373827382 183****7382
1 18373824382 183****4382
2 18373827382 183****7382
3 18373427382 183****7382
4 18373857382 183****7382
5 18373827382 183****7382
6 18373427382 183****7382
7 18373817382 183****7382
正则隐藏手机号中间四位,改为**** (常见四种方法)
var phone='13511115678';
//方法一
var newphone=phone.substr(0, 3) + '****' + phone.substr(phone.length - 4);
//方法二
var newphone= phone.replace(phone.substr(3, 4),"****")
//方法三
var newphone=phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$3');
//方法四
var newphone=phone.replace( /([0-9]{3})([0-9]{4})([0-9]{4})/,"$1****$3")
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)