2013-03-05 5 views
1

Пример две строкиRegex: Split символов

9:00 AM Просыпайтесь
1:00 вечера обед Время

Раздельное использованием AM или PM
Desire выход:

9:00, AM, Проснитесь
1:00, PM, LunchT ime

Какое регулярное выражение следует использовать для разделения времени и строки и сохранения разделителя?

ответ

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

Включая разделенное регулярное выражение в круглых скобках, его совпадение добавляется к результирующему массиву. \s* (вне группы) соответствуют окружающим пробелам, если они присутствуют, тем самым удаляя их из матча.

+0

Благодаря работает как шарм – Eric

1

Если это так, сделайте это простым. Просто разделите его с помощью пробела (' ') и возьмите первые 2 значения массива строк. Игнорируйте остальную часть пространства между ними.

Для примера:

9:00 AM Wake up 

Здесь После расщепления будет 4 строки в массиве разделенного {"9:00","AM","Wake","up"} принимают первые 2 элементы и и добавить остальные элементы с пробелом.

0

Try ниже код

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, AM, Проснись

1: 00, PM, Lunch Time