我正在尝试用星号(*)替换10到14长数字的某些部分。
实际上这是我想要做的两件事:
1:如果存在,则删除国家/地区代码
2:用星号替换中间的4位数字
如果我有:9151234567我想要这个:0915 **** 576
如果我有:09361234321我想要这个:0936 **** 321
如果我有+989201234841我想要这个:0920 **** 841
是否可以这样做?
答案 0 :(得分:3)
nos =["9151234567", "09361234321", "+989201234841"]
print ['0'+a[-10:][:3]+'****'+a[-10:][-3:] for a in nos]
输出:
['0915****567', '0936****321', '0920****841']
a[-10:]
将对最后10位进行切片。
import re
nos =["9151234567", "09361234321", "+989201234841"]
print [re.sub(r".*?(\d{3})(\d{4})(\d{3})$", r'0\1****\3', a) for a in nos]
输出:
['0915****567', '0936****321', '0920****841']