gpt4 book ai didi

java - 在 Java 中使用正则表达式获取 2 个单独的时间值

转载 作者:行者123 更新时间:2023-12-02 11:55:51 25 4
gpt4 key购买 nike

到目前为止,我已成功从文本文件中获取时间值。 “09:00 19:00”。这就是文本文件中设置的时间值。有什么办法可以让这两个值是分开的。如“开始时间 - 09:00”和“结束时间 - 19:00”。我已经能够从文本文件中获取值“09:00 19:00”。只是我找不到将它们分开的能力

String available = null;
Boolean isAvail;
Date day = new Date();

SimpleDateFormat simpleDateformat = new SimpleDateFormat("EEEE");
String token1 = "";

Scanner inFile1 = new Scanner(new File("D:\\Jordanstown\\NetBeans Projects\\COM373\\Availabilty Update File.txt")).useDelimiter(",\\s*");

List<String> availability = new ArrayList<String>();

while (inFile1.hasNext())
{
token1 = inFile1.next();
availability.add(token1);
}
inFile1.close();


String[] availabilityArray = availability.toArray(new String[0]);

String searchArray = simpleDateformat.format(day);
for (String curVal : availabilityArray)
{
if (curVal.contains(searchArray))
{
Pattern pattern = Pattern.compile("'(.*?)'");
Matcher matcher = pattern.matcher(curVal);
if (matcher.find())
{
//System.out.println(matcher.group(1));
available = matcher.group(1);

}
}
}
//I would want to have these 2 strings being the 2 times from the text file
String timeStart = "14:00";
String timeEnd = "20:00";

LocalTime start = LocalTime.parse(timeStart);
LocalTime stop = LocalTime.parse(timeEnd);
LocalTime now = LocalTime.now();
if (now.isAfter(start) && now.isBefore(stop))
{
isAvail = true;
System.out.println(isAvail);
}else{
isAvail=false;
System.out.println(isAvail);
}

感谢您提前提供的任何帮助

最佳答案

只需 split 分隔空格上的字符串即可。

String input = "09:00 19:00";
String[] values = input.split(" ");
String startTime = values[0];
String endTime = values[1];
System.out.println(startTime); // prints: 09:00
System.out.println(endTime); // prints: 19:00

您还可以使用 indexOfsubstring :

String input = "09:00 19:00";
int idx = input.indexOf(' ');
String startTime = input.substring(0, idx);
String endTime = input.substring(idx + 1);
System.out.println(startTime); // prints: 09:00
System.out.println(endTime); // prints: 19:00

这些都是String类上的常用方法,如果你阅读文档,你应该能够自己找到它们,即String的javadoc .

关于java - 在 Java 中使用正则表达式获取 2 个单独的时间值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47608598/

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