首页 > 解决方案 > 将字符串转换为自定义标准格式

问题描述

我试图将下面的示例字符串转换为不同的格式 -

String s="MH1BM4";(sample string)
String s="MHA1BM4";(sample string)

String s="MH-01-CM-0004";(o/p)

String s="MH-01-CM-0034";(o/p)

String s="MGH-01-CM-03334";(o/p)

String s="MH-01-CM-03334";(o/p)

如果存在单个数字,则第二位,则我需要附加 -0,如果存在少于 4 位,则需要在第四位相应地附加 -0。

反正有没有使用regx转换它?

标签: javaspringspring-bootspring-data-jpa

解决方案


考虑使用 String.format() 将数字转换为“正确”格式。例如,

String input = "MH1BM4";
String lastSymbol = input.substring(5);
int lastNumber = Integer.parseInt(lastSymbol);
String formattedNumber = String.format("%1$04d", lastNumber);
System.out.println(formattedNumber);

出:0004

有关此处格式化的更多信息:https ://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html

还有一些例子:https ://www.dotnetperls.com/format-java


推荐阅读