gpt4 book ai didi

java - Java中使用正则表达式屏蔽最后4位数字

转载 作者:太空宇宙 更新时间:2023-11-04 12:00:08 25 4
gpt4 key购买 nike

我想屏蔽身份号码 (hkid) 的最后 4 位数字A123456(7) -> A123***(*)

我可以通过以下方式做到这一点:

hkid.replaceAll("\\d{3}\\(\\d\\)", "***(*)")

但是,我的正则表达式真的可以匹配最后4位并用“*”替换吗?

hkid.replaceAll(regex, "*")

请帮忙,谢谢。

杰西

最佳答案

就我个人而言,我不会使用正则表达式来做到这一点:

char[] cs = hkid.toCharArray();
for (int i = cs.length - 1, d = 0; i >= 0 && d < 4; --i) {
if (Character.isDigit(cs[i])) {
cs[i] = '*';
++d;
}
}
String masked = new String(cs);

这从字符串的末尾开始,查找数字字符,并将其替换为 *。一旦找到 4(或到达字符串的开头),它就会停止迭代,并构建一个新字符串。

关于java - Java中使用正则表达式屏蔽最后4位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40992127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com