gpt4 book ai didi

使用冒号 (":"的 Java 字符串拆分无法按预期工作)

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

我正在尝试从这个字符串中删除秒数:

10/31/2009 9:46:16 AM

我正在尝试使用以下函数来执行此操作:

public static String correctValue4(String str) {
String parts[] = str.split(":");
String fixedStr = parts[0] + ":" + parts[1];
return fixedStr;
}

我认为它会解析它并获得 10/31/2009 9,然后在末尾添加 46。但是,我在运行时收到“java.lang.ArrayIndexOutOfBoundsException:1”错误。显然,它不是在拾取零件 [1]。

有什么想法吗?

对于额外的业力:我需要将 AM/PM 追加回字符串的末尾。所以,最后它应该是这样的:

10/31/2009 9:46 AM

谢谢,非常感谢您的帮助 =)

编辑:

抱歉,我应该更具体地说明日期。我正在做的是在应用程序中接受一个制表符分隔的文本文件,然后对其进行格式化并将其输出到一个新文件中。我需要做的就是根据请求从日期中删除秒数并输出它;我想我只是把它复杂化了。

Tim 的回答在这种情况下有效!

谢谢大家提建议!

最佳答案

我建议采用完全不同的方法:将值解析为适当的特定于域的类型(我将使用 Joda Time 中的 LocalDateTime),然后将其重新格式化为您想要的格式。这将同时执行验证,因此您不会仅仅因为其中恰好有冒号就在系统中传播错误数据。

Joda Time 提供了解析和格式化工具(参见 DateTimeFormatDateTimeFormatter ),所以它应该非常简单。

关于使用冒号 (":"的 Java 字符串拆分无法按预期工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10365263/

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