java - 如何在java中将 "3hr 4min 5sec"这样的字符串转换为秒?

标签 java

JAVA中有没有库函数可以接受像3hr 4min 5sec这样的字符串输入并将其转换为秒(整数值)?

示例:如果输入为 1 小时 5 秒,则答案应为 3605。

谢谢。

最佳答案

手动解析:

String input = "3hr 4min 5sec";
int sum = 0;
String[] arr = input.split(" ");
for(String s:arr){
  if(s.endsWith("hr"))
    sum += Integer.valueOf(s.substring(0, s.indexOf("hr"))) * 3600;
  if(s.endsWith("min"))
    sum += Integer.valueOf(s.substring(0, s.indexOf("min"))) * 60;
  if(s.endsWith("sec"))
    sum += Integer.valueOf(s.substring(0, s.indexOf("sec")));
}
System.out.println(sum);

打印11045。这也允许缺少其中一个元素(例如分钟)。

编辑:用字符串分割替换正则表达式方法以允许元素丢失

关于java - 如何在java中将 "3hr 4min 5sec"这样的字符串转换为秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38355167/

相关文章:

java - 当上传的大图像发送到下一个 Activity 时应用程序崩溃

java - 按照原样将字符串写入文件中

用于 MATLAB 的 Java JPA 类

java - 动态语言开/关 Java JVM

java - 实现将盖子与正确尺寸的 jar 相匹配的算法

java - 检测 Java 项目 Cruft

java - Shiro Authenticating Realm 应该是事务性的吗?

java - 没有收到 Java 中短信网关发送的短信?

java - StageMonitor:禁用浏览器小部件

c# - 类似于 Java 中的 C# .NET Generic List