Java 用于屏蔽字符串起始8个字符的正则表达式
我试图用下面的JAVA代码屏蔽给定字符串的起始精确8个字符,该字符串可以包含任何字符和长度Java 用于屏蔽字符串起始8个字符的正则表达式,java,regex,Java,Regex,我试图用下面的JAVA代码屏蔽给定字符串的起始精确8个字符,该字符串可以包含任何字符和长度 String maskChar=“x”; String fieldName=“j@#G}3 2jklWEFSD681@#”; fieldName=fieldName.replaceAll((?:^.{8})”,maskChar); 正在给出输出xjklWEFSD681@#,该输出被替换为单个“x”。 但是预期的输出应该是xxxxxxxx jklwefsd681@# 这段代码有regex(?:^.{8})
String maskChar=“x”;
String fieldName=“j@#G}3 2jklWEFSD681@#”;
fieldName=fieldName.replaceAll((?:^.{8})”,maskChar);
正在给出输出xjklWEFSD681@#
,该输出被替换为单个“x”。但是预期的输出应该是
xxxxxxxx jklwefsd681@#
这段代码有regex(?:^.{8})
,它以字符串形式返回完整和精确的8个起始字符,
因此,当它屏蔽时,它用singlemaskChar
替换返回的字符串。当字符串长度小于8个字符时,这也应该处理大小写,它应该屏蔽给定字符串的所有字符
所以问题是,如何使正则表达式以字符而不是字符串的形式返回?或者请建议使用不同的正则表达式,因为我是新手。
谢谢。您可以使用
fieldName=fieldName.replaceAll(“(?replaceAll(“(?您上面给出的fieldName
的预期输出是什么?