我在分隔字符串字符时遇到问题。这些是我拥有的原始字符串
"MH 02:30pm-04:00pm TF 08:30am-10:00am"
"MTWS 07:00 am-09:00 am, A 08:30 am-11:00 am"
"WS 01:00pm-05:00pm F 11:30am-01:00pm"
这些字符串是来自名为“schedule”的表列的数据库值。我只有读取权限,所以无法更改数据,而且数据库很大,很难更改计划列的格式。
我的目的是从返回日期(MTWHFSA)、开始时间和结束时间的字符串中提取课程表。到目前为止我所做的是使用 StringTokenizer。我没有成功,因为如您所见,数据库返回的字符串格式不同。它并不总是返回相同的格式。所以我想删除所有空格,以便所有空格都具有相同的格式。例子:
"MH02:30pm-04:00pmTF08:30am-10:00am"
拜托,谁能帮我从上面的字符串中提取日期(MTWHFSA)、开始时间和结束时间?
这是示例代码:
String sched = "MTWHFS 02:30pm-04:00am W 08:30am-10:00am";
StringTokenizer token = new StringTokenizer(sched,",");
while(token.hasMoreTokens()){
StringTokenizer anotherToken = new StringTokenizer(token.nextToken(),"\\ ?\\-?");
while(anotherToken.hasMoreTokens()){
System.out.println(anotherToken.nextToken());
}
}
这正确输出:
MTWHFS
02:30pm
04:00am
W
08:30am
10:00am
但是如果字符串是这样的:
String sched = "MTWHFS 02:30 pm-04:00 am W 08:30 am-10:00 am";
它的输出变成:
MTWHFS
02:30
pm
04:00
am
W
08:30
am
10:00
am
当字符串格式不同时输出会有所不同,这就是我删除空格以使字符串格式相同的原因。
但是当字符串没有这样的空格时:
String sched = "MTWHFS02:30pm-04:00amW08:30am-10:00am";
它输出这不是我想要的。
MTWHFS02:30pm
04:00amW08:30am
10:00am
任何人都可以帮我解决这个问题,以便这个字符串:
String sched = "MTWHFS02:30pm-04:00amW08:30am-10:00am";
将输出:
MTWHFS
02:30pm
04:00am
W
08:30am
10:00am
谢谢。