JAVA - Разделить строку, содержащую разделитель # |,Строка также должна разделяться, если есть несколько вхождений # |как - # | # | - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть строка, которую нужно разбить на части, используя # |в качестве разделителя.В некоторых случаях # | # |появляется также.Это может идти несколько раз тоже.

Пример строки:

kh73j563741043f4611144u3ol#|h73j5637411432vk651p4601#|sadf#|12342134#|ADHVSF#|1#|0#|0#|DFSFS#|SDFSBFSF#|2017-07-03 19:56:37.0#|3#|6#|#|SDJHSJKDSDKSDS ODHDO ODHSUDSD 34234234 PODSOF pfjfs

Что я написал:

String input [] = line.split("\\#\\|");

Приведенный выше код разбивает входные данныев 13 различных строк, но приведенный выше код не работает для последней строки, где "# | # |"используется в качестве разделителя.

Как создать REGEX, который может передавать несколько экземпляров # |в качестве разделителя?

1 Ответ

0 голосов
/ 26 ноября 2018

Вы можете обернуть шаблон группой без захвата и установить квантификатор + после него:

.split("(?:#\\|)+")

См. Демонстрационную версию regex

Сейчас, (?:#\\|)+ соответствует 1 или более последовательным вхождениям последовательности из двух символов, # и |.Обратите внимание, что вам не нужно экранировать # (если вы не хотите использовать опцию Pattern.COMMENTS (и здесь вам не понадобится такой короткий шаблон).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...