信用卡号码我想通过分组用空格如何格式化的Java
例如5112345112345114分隔的数字格式化信用卡号码的格式应为:5112 3451 1234 5114
我想指定一个掩码并将其中的数字显示出来。例如:“#### #### #### ####”为16位数的信用卡号码。对于美国运通(15位数字),应该如下所示:“#### ###### #####”。如果号码还没有完全可用(因为它是由持卡人输入的),它应该从左侧开始渲染到蒙版中。
有没有一个库,甚至在Java中的API来做到这一点?我查看了java.text.MessageFormat,但找不到分割字符串的方法。看来.net有一个API:String.Format(“{0:0000 0000 0000 0000}”,数字)。
添加先行避免尾随空格:' “5112345112345114” .replaceAll(/ \ d {4}(= \ d)/, '$ 0'?)==“5112 3451 1234 5114“ – Love
一个更通用的解决方案,用于将组中的任何字符串内容分组为4: '”5112345112345114“.replaceAll(/。{4}(?!$)/,'$ 0')==”5112 3451 1234 5114“' – Love