建议我有以下两个值:

       123456789
       123456789111


String.replaceAll可以跟随吗?

       123456789           ->    XXXXXX789
       123456789111        ->    XXXXXXXXX111


为掩码的最后三个数字,但将其他字符替换为X?请注意样本中X的数量。

提前致谢。

最佳答案

是的,replaceAll函数将完成此工作。

String s1 = "123456789";
String s2 = "123456789111";
System.out.println(s1.replaceAll("\\d(?=\\d{3})", "X"));
System.out.println(s2.replaceAll("\\d(?=\\d{3})", "X"));


输出:

XXXXXX789
XXXXXXXXX111


说明:


\\d(?=\\d{3})仅在后跟三个数字时匹配一个数字。因此,最后三位数字失败。最后,所有匹配的数字都替换为字母X

关于java - Java如何按预期使用正则表达式掩码数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26336067/

10-11 19:09