正则表达式:拆分字符

时间:2013-03-05 07:50:08

标签: javascript regex

示例二字符串

  

上午9:00醒来   下午1:00午餐时间

使用 AM PM 分开
欲望输出:

  

上午9点,上午1点,下午,午餐时间

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

例如:

9:00 AM Wake up

下面, 拆分后,拆分数组{"9:00","AM","Wake","up"}中将有4个字符串 取前2个元素,然后用空格附加其余元素。

答案 2 :(得分: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点,上午醒来

     

1:00,PM,午餐时间