我遇到了涉及格式化数字的问题。在巴西,我们有一种称为“CPF”的文件,这是每个公民都拥有的一种个人身份证。
以下是格式正确的 CPF 号码示例:096.156.487-09
我正在尝试使用正则表达式来格式化包含 CPF 号码的字符串,但我很难做到这一点。我当前的代码返回未格式化的数字。
例如:应该输出123.456.789-0
但我得到了1234567890
.
这是我当前的代码:
String cpf ="09551130401";
cpf = cpf.replaceAll("(\\d{2})(\\d{3})(\\d{3})(\\d{4})(\\d{2})", "$1.$2.$3-$4");
System.out.println(cpf);
我不确定我是否理解你的权利..但也许你正在寻找这种模式:
"(\\d{3})(\\d{3})(\\d{3})(\\d{2})"
并替换为$1.$2.$3-$4
.
在线演示 https://regex101.com/r/nY5gN4/10
完整代码:
String cpf ="09551130401";
cpf = cpf.replaceAll("(\\d{3})(\\d{3})(\\d{3})(\\d{2})", "$1.$2.$3-$4");
System.out.println(cpf);
//=> 095.511.304-01
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)