gpt4 book ai didi

java - 检查 Java 字符串中是否存在时间

转载 作者:行者123 更新时间:2023-12-01 12:50:48 25 4
gpt4 key购买 nike

我有一个字符串变量,其中包含一些带有时间的文本。例如,

// string str looks like this
String str = "XYZ SuperMarket 10.00AM - 10.00PM"
  1. 有没有一种方法或库可以用来检查这个字符串
    由时间组成(类似于 Jsoup 或 Regex)?

  2. 我想修剪时间内容并将其存储在名为“时间”的不同字符串中。真的可以这样处理字符串吗方式。

最佳答案

我没有 Java 编程知识,因此无法提供用于此任务的 Java 代码。

但我可以提供以下正则表达式:

((?:[01][0-9]|[0-9])(?:[.:][0-5][0-9]){0,2} ?[AP]M)
整个表达式开头和结尾的

(...) 标记整个找到的字符串,可能需要将找到的字符串放入字符串变量中。

(?:[01][0-9]|[0-9]) 是 OR 表达式的非标记组。此 OR 表达式可查找 00 到 19 范围内的 2 位数字,或仅查找 0 到 9 范围内的单个数字。(是的,大于 12 的数字也会匹配,但这重要吗?我想,它不重要。保留它简单意味着让它变得更快。)

(?:[.:][0-5][0-9]){0,2} 是一个非标记组,应用于字符串以搜索 0、1 或2次。它与分钟和秒相匹配,其间的分隔符可以是点或冒号。分钟/秒必须有 00 到 59 范围内的 2 位数字。(所以这个表达式不适用于值为 60 的闰秒,但我很确定您从未见过带有闰秒的时间。)时间字符串可以仅包含小时,也可以包含小时+分钟,或者包含小时+分钟+秒。由于我从未见过一小时后带有一位数分钟或秒的时间字符串,因此对两位数分钟/秒的限制应该不是问题。

 ? 匹配单个空格,该空格可能但大多数不存在于时间字符串中。

[AP]MAMPM 匹配,因为这看起来是您在搜索字符串中期望的时间格式。

注意:有数十种不同的时间格式。因此,检查字符串中所有可能的时间格式将需要大量正则表达式。

关于java - 检查 Java 字符串中是否存在时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24227968/

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