给定一个代表信用卡号的字符串......
val creditCardNo = "1111222233334444"
Run Code Online (Sandbox Code Playgroud)
...如何用前缀12个字符*
?
val maskedCreditCardNo = "************4444"
Run Code Online (Sandbox Code Playgroud)
DNA*_*DNA 14
只需使用drop
或substring
在原始号码上,并添加正确的"*"号码:
"*" * 12 + (creditCardNo drop 12)
Run Code Online (Sandbox Code Playgroud)
替换所有数字符号,除非剩下4个字符:
creditCardNo.replaceAll("\\d(?=\\d{4})", "*")
Run Code Online (Sandbox Code Playgroud)