示例二字符串
上午 9:00 起床
下午 1:00 午餐时间
使用AM或PM
Desire 输出分隔:
上午 9:00,起床
下午 1:00,午餐时间
我应该使用什么正则表达式来分隔时间和字符串并保留分隔符?
示例二字符串
上午 9:00 起床
下午 1:00 午餐时间
使用AM或PM
Desire 输出分隔:
上午 9:00,起床
下午 1:00,午餐时间
我应该使用什么正则表达式来分隔时间和字符串并保留分隔符?
/\s*([AP]M)\s*/
通过将拆分正则表达式括在括号中,其匹配项将添加到结果数组中。(\s*
组外)匹配周围的空格(如果存在),从而将它们从匹配中删除。
如果总是这样,那就简单点。只需使用空格(' '
)将其拆分并获取前 2 个字符串数组值。忽略中间的其余空间。
例如:
9:00 AM Wake up
在这里,拆分后将有 4 个字符串在拆分数组中{"9:00","AM","Wake","up"}
获取前 2 个元素,并将其余元素附加一个空格。
试试下面的代码
public static void main(String[] args) {
String input = "9:00 AM Wake up";
input = input.replaceFirst("\\s+","\\,").replaceFirst("\\s+","\\,");
System.out.println(input);
input = "1:00 PM Lunch Time";
input = input.replaceFirst("\\s+","\\,").replaceFirst("\\s+","\\,");
System.out.println(input);
}
运行上面的代码输出后会。
上午 9:00,起床
1:00,下午,午餐时间