1

示例二字符串

上午 9:00 起床
下午 1:00 午餐时间

使用AMPM
Desire 输出分隔:

上午 9:00,起床
下午 1:00,午餐时间

我应该使用什么正则表达式来分隔时间和字符串并保留分隔符?

4

3 回答 3

1
/\s*([AP]M)\s*/

通过将拆分正则表达式括在括号中,其匹配项将添加到结果数组中。(\s*组外)匹配周围的空格(如果存在),从而将它们从匹配中删除。

于 2013-03-05T07:59:04.700 回答
1

如果总是这样,那就简单点。只需使用空格(' ')将其拆分并获取前 2 个字符串数组值。忽略中间的其余空间。

例如:

9:00 AM Wake up

在这里,拆分后将有 4 个字符串在拆分数组中{"9:00","AM","Wake","up"} 获取前 2 个元素,并将其余元素附加一个空格。

于 2013-03-05T08:01:51.360 回答
0

试试下面的代码

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,下午,午餐时间

于 2013-03-05T08:03:28.157 回答