gpt4 book ai didi

java - 替换句子中特定长度的数字

转载 作者:行者123 更新时间:2023-12-01 07:18:26 25 4
gpt4 key购买 nike

我想将句子中 16 位数字的前 12 位转换为星号

最后4位数字应该可见

输入示例:

String test = "test/1234567890121123/121/test";
String test2 = "hey: 1234567890123456";

预期输出:

String test = "test/************1123/121/test";
String test2 = "hey: ************3456";

注意:输入是动态的

最佳答案

尝试此选项:

String test = "test/1234567890121123/121/test";
String test2 = "hey: 1234567890123456";
test = test.replaceAll("\\b\\d{12}(?=\\d{4}\\b)", "************"); // 12 *'s
System.out.println(test);

这里的技巧是通过手术替换 16 位数字开头的 12 位数字。为此,我们可以搜索 \b\d{12}(?=\d{4}\b)。该模式的最后部分是积极的前瞻,它断言但不消耗。由于lookahead实际上并不消耗,所以它匹配的内容不会受到替换的影响。

Demo

关于java - 替换句子中特定长度的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49192537/

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