在 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 这没有意义,日期/时间与您如何确定输出有什么关系? 022013-09-05 14:08:15 有什么关系? @KKasi 你的问题有被关闭的危险,因为不清楚,我们需要更多关于02是如何生成的信息 【参考方案1】:

设计一个小类来描述每张照片。至少你的班级应该有地点名称和日期和时间的实例字段(使用来自java.timeLocalDateTime,除非时区相关)。编写构造函数或方法将原始字符串转换为此类对象。使用正则表达式解析字符串。

按城市名称对对象进行分组,并按时间顺序对每个组进行排序。如果一个城市的照片超过 100 张,请确定您要做什么,因为两位数的编号已不够用。遍历排序的对象以格式化您的字符串。使用 NumberFormat 或 DecimalFormat 来格式化数字。

【讨论】:

以上是关于在 java 中重新格式化字符串,包括扩展名的主要内容,如果未能解决你的问题,请参考以下文章

[SCOI2010]生成字符串 题解(卡特兰数的扩展)

Java——总结

Java 缺失的特性:扩展方法

如何在 Windows 中重新打包 .ANE 扩展

保存时自动重新格式化VS2008中整个C/C++源文件的免费工具? [关闭]

NO21 Llinux的文件种类与扩展名--文件权限--硬链接