在 java 中重新格式化字符串,包括扩展名
Posted
技术标签:
【中文标题】在 java 中重新格式化字符串,包括扩展名【英文标题】:Reformat a string in java, including the extension 【发布时间】:2018-11-05 14:19:58 【问题描述】:如何在java中格式化字符串?
例如,如何将“photo.jpg, Warsaw, 2013-09-05 14:08:15”转换为“Warsaw02.jpg”?
格式为“photoname.extension,city_name,yyyy—mm—dd hh:n-m:ss”,应转换为“根据拍摄时间地点的城市名称编号.extension”。
【问题讨论】:
总是那种格式和那种输出吗? 你如何决定结果应该是Warsaw02.jpg
?你用的是什么逻辑?
@KKasi 这没有意义,日期/时间与您如何确定输出有什么关系?
02
与 2013-09-05 14:08:15
有什么关系?
@KKasi 你的问题有被关闭的危险,因为不清楚,我们需要更多关于02
是如何生成的信息
【参考方案1】:
设计一个小类来描述每张照片。至少你的班级应该有地点名称和日期和时间的实例字段(使用来自java.time
的LocalDateTime
,除非时区相关)。编写构造函数或方法将原始字符串转换为此类对象。使用正则表达式解析字符串。
按城市名称对对象进行分组,并按时间顺序对每个组进行排序。如果一个城市的照片超过 100 张,请确定您要做什么,因为两位数的编号已不够用。遍历排序的对象以格式化您的字符串。使用 NumberFormat 或 DecimalFormat 来格式化数字。
【讨论】:
以上是关于在 java 中重新格式化字符串,包括扩展名的主要内容,如果未能解决你的问题,请参考以下文章