Java正则表达式屏蔽字母数字字符串并显示最后4位数字
我有一个如下所示的输入字符串:Java正则表达式屏蔽字母数字字符串并显示最后4位数字,java,regex,string,masking,Java,Regex,String,Masking,我有一个如下所示的输入字符串: Z43524429 46D92S429 3488DFJ33 基本上,字符串可以包含字母字符或数字。但是,它不能包含符号,只能包含字母和数字。我想把它伪装成这样: *****4429 *****S429 *****FJ33 我到处都找过一个java代码示例,它使用正则表达式来掩盖这一点。我已经在堆栈上找到了,但这假设输入纯粹是一个数字 我将正则表达式调整为/\w(?=\w{4})/g,以包含字符。它似乎起作用了。但是,当我尝试用java实现它时,它不起作用。
- Z43524429
- 46D92S429
- 3488DFJ33
- *****4429
- *****S429
- *****FJ33
/\w(?=\w{4})/g
,以包含字符。它似乎起作用了。但是,当我尝试用java实现它时,它不起作用。下面是我的java代码中的一行:
String mask = accountNumber.replace("\\w(?=\\w{4})", "*");
掩码最终与accountNumber相同。显然,正则表达式不起作用。有什么想法吗?您正在使用的,它不使用正则表达式
尝试。使用replaceAll覆盖replace
String mask=accountNumber.replaceAll(\\w(?=\\w{4})”,“*”;
对regex使用replaceAll
如果字符串的格式始终相同,则不需要正则表达式。构建一个新字符串,以五个*
开头,以原始字符串的最后四个字符结尾。顺便说一句,谢谢你的问题。正因为如此,我找到了用于字符串屏蔽的正则表达式。非常有帮助。。