将部分字符串更改为*

nel*_*ela -5 python string

假设我有一个IBAN: NL20INGB0001234567

如何将除最后4位之外的所有数字更改为*:

Input: NL20INGB0001234567
Output: NL20INGB******4567
Run Code Online (Sandbox Code Playgroud)

所有数字但NL*20*

Ash*_*ary 5

使用regex:

>>> import re
>>> strs = 'NL20INGB0001234567'
>>> re.sub(r'(\d+)(?=\d{4}$)', lambda m:'*'*len(m.group(1)), strs)
'NL20INGB******4567'
Run Code Online (Sandbox Code Playgroud)