Java 将字符串转换为自定义标准格式

Java 将字符串转换为自定义标准格式,java,spring,spring-boot,spring-data-jpa,Java,Spring,Spring Boot,Spring Data Jpa,我尝试将下面的示例字符串转换为不同的格式- 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和 第四位如

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

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转换它?

考虑使用String.format()将数字转换为“right”格式。比如说,

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

有关此处格式设置的详细信息:


这里有一些例子:

通过
StringUtils.isNumeric
将其分解,然后解析值。然后检查这些值的长度以确定其位置,并相应地进行预处理,而不是中断。我可以直接使用正则表达式将其转换为上述格式,这可能会有所帮助。