我有一个字符串,我想分成多个组件,如下所示:
时间:下午12:00 - 下午4:00(周一至周五),下午3点至下午6点(WED),下午4点至晚上8点(TUE,THU)
我想把这个字符串拆分成它的组件,即
Part - 1:12:00 PM - 4:00 PM(MON-FRI)
第2部分:下午3点至下午6点(WED)
Part - 3:4 PM-8PM(TUE,THU)
我尝试使用Java的string.split()
方法,但它只适用于分隔符,因此如果我分成逗号,我会得到4个部分,依此类推。无论如何使用子字符串拆分字符串,在本例中为),
。
非常感谢。
这是代码的片段:
String temp = "12:00 PM - 4:00 PM (MON-FRI), 3PM - 6 PM (WED), 4 PM- 8PM (TUE,THU)";
String[] partsOfInput = temp.split("),");
String part1 = partsOfInput[0];
String part2 = partsOfInput[1];
String part3 = partsOfInput[2];
if(part3!=null)
System.out.println(part1+part2+part3);
else
System.out.println(part1+part2);
答案 0 :(得分:2)
试试这个
String[] partsOfInput = temp.split("\\),");
但是你需要在最后添加)
,如果它不以)
<结尾,则无需为String
追加,
/ p>
答案 1 :(得分:2)
为什么不使用temp.split(", ");
进行拆分,因为此部分字符串中没有空格:"(TUE,THU)"
。
所以你可以在你的情况下这样做:
String temp = "12:00 PM - 4:00 PM (MON-FRI), 3PM - 6 PM (WED), 4 PM- 8PM (TUE,THU)";
String[] partsOfInput = temp.split(", ");
String part1 = partsOfInput[0];
String part2 = partsOfInput[1];
String part3 = partsOfInput[2];
if (part3 != null) {
System.out.println(part1 + part2 + part3);
} else {
System.out.println(part1 + part2);
}
变量的值是:
String part1 = partsOfInput[0]; // -> 12:00 PM - 4:00 PM (MON-FRI)
String part2 = partsOfInput[1]; // -> 3PM - 6 PM (WED)
String part3 = partsOfInput[2]; // -> 4 PM- 8PM (TUE,THU)
答案 2 :(得分:1)
尝试使用以下代码
String temp = "12:00 PM - 4:00 PM (MON-FRI), 3PM - 6 PM (WED), 4 PM- 8PM (TUE,THU)";
String[] partsOfInput = temp.split("\\),");
String part1 = partsOfInput[0]+")";
String part2 = partsOfInput[1]+")";
String part3 = partsOfInput[2];
if(part3!=null)
{
System.out.println("part1-->"+part1);
System.out.println("Part2->"+part2);
System.out.println("part3-->"+part3);
}
else
System.out.println(part1+part2);
}
输出:
part1-->12:00 PM - 4:00 PM (MON-FRI)
Part2--> 3PM - 6 PM (WED)
part3--> 4 PM- 8PM (TUE,THU)