gpt4 book ai didi

Java正则表达式将字符串拆分为数字数组

转载 作者:行者123 更新时间:2023-11-29 09:59:46 25 4
gpt4 key购买 nike

我有一个扫描仪字符串输入,格式如下:12:00:00PM。

我设法通过这个最终隔离了 PM 或 AM:

public class ConverTime
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String timeString = sc.next();

String[] pmOrAm = timeString.split("\\d");
String[] nums = timeString.split("(: + \\D)");

// PM or AM
String timeType = pmOrAm[pmOrAm.length - 1];
for (String n: nums)
{
System.out.println(n);
}
}
}

我知道我隔离 PM 或 AM 的方法不是最好的,所以希望有更好的方法可以得到一个字符串数组。

但是当我为“nums”数组运行 for 循环时,输出是:

 12:00:00PM

我希望输出是这样的:

12
00
00

没有“PM”或“AM”。我该怎么做?

最佳答案

只是为了完整起见,虽然有很好的拆分和正则表达式解决方案,但还有另一个适合您的用例...

Data date = new SimpleDateFormat("HH:mm:ssaa").parse(s);
Calendar cal = new GregorianCalendar();
cal.setTime(date);
System.out.println( data.get(Calendar.HOUR);
System.out.println( data.get(Calendar.MINUTE);
System.out.println( data.get(Calendar.SECOND);

只是作为一个不同方向的想法,因为我们在这里讨论的是时间字符串,这将允许你对它做出超越纯正则表达式格式的假设......

关于Java正则表达式将字符串拆分为数字数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39195230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com