Разделение строки в начале строки - PullRequest
0 голосов
/ 21 марта 2011

У меня есть текст, который я хочу разделить всякий раз, когда я сталкиваюсь с "СЛОВО" на начало строки и без символов после нее. я использовал text.split ("WORD"), только это не хорошо, потому что, например,% hi hi WORD не должен сопоставляться методом split, и сейчас он сопоставляется. я попытался использовать «^ WORD», но это соответствует только WORD в начале всего текста.

есть идеи, как мне это сделать? Кстати, я использую Java, если это имеет значение

Ответы [ 3 ]

5 голосов
/ 21 марта 2011

Использовать многострочный модификатор (который имеет тот же эффект, что и флаг Pattern.MULTILINE для шаблона регулярного выражения):

text.split("(?m)^WORD");

Изменяет значение ^ с "в начале строки" на "в начале строки" .

0 голосов
/ 21 марта 2011

Обнаружено слово "WORD" в начале строки без символов после нее.

text.split("(?mis)^WORD(?!.)");

0 голосов
/ 21 марта 2011

Как разместил Томалак, используйте многострочный модификатор.Если вы хотите сохранить СЛОВО само по себе, вы также можете сделать:

Pattern p = Pattern.compile("(^WORD .*$)", Pattern.MULTILINE);
String input = "WORD something. And WORD not at beginning.\nWORD something.";
Matcher m = p.matcher(input);
while (m.find()) {
   System.out.println(m.group());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...