gpt4 book ai didi

Java代码格式字符串转美国邮政编码

转载 作者:行者123 更新时间:2023-11-29 08:56:00 24 4
gpt4 key购买 nike

能否请您分享一个 java 代码片段以将 5 位或 9 位数字转换为美国邮政编码格式

e.g. 
Input -> Expected output
12345 -> 12345
123456789 -> 12345-6789

下面的代码有效,但对于 5 位数字,它以 - 结尾。如何使用正则表达式删除它?

public static void main(String[] args) throws ParseException {
String[] values = new String[]{"1234","12345","123456897"};

MaskFormatter f = new MaskFormatter("#####-####");
f.setValueContainsLiteralCharacters(false);
for(String value:values){
System.out.println(f.valueToString(value));
//System.out.println(String.format("%5s-%04s", value,value));
}
}

输出是:

234 -
12345-
12345-6897

最佳答案

尝试,

 String[] values = new String[]{"1234","12345","123456897"};

MaskFormatter f = new MaskFormatter("#####-####");
f.setValueContainsLiteralCharacters(false);
for(String value:values){
String output=f.valueToString(value).trim();
if(output.endsWith("-")){
output=output.substring(0,output.length()-1);
}
System.out.println(output);
//System.out.println(String.format("%5s-%04s", value,value));
}

输出:

1234 
12345
12345-6897

关于Java代码格式字符串转美国邮政编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20258653/

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