建议我有以下两个值:
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/