java - 将字符串转换为自定义标准格式
问题描述
我试图将下面的示例字符串转换为不同的格式 -
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() 将数字转换为“正确”格式。例如,
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
推荐阅读
- javascript - 雪花过程递归调用并行运行
- vue.js - Vue 无效的 CSS - 预期 1 个选择器或规则,
- javascript - Angular - 每 30 秒调用一次函数,但要考虑运行函数所花费的时间
- javascript - 用于在 JSON 中查找对象名称的搜索功能
- python - Heroku 部署与 MongoDB 错误:连接被拒绝
- monitoring - 监控 Openwhisk 集群
- javascript - 无法在 react redux 中使用 firebase 登录,控制台显示:firebase.auth 不是函数
- java - Gradle SourceSet IntelliJ 与 Eclipse
- sql - base R:按两列聚合和求和
- unity3d - 光标游戏对象在一段时间后消失