Java: Matchter Matchter неожиданно возвращает новые линииJAVA

Программисты JAVA общаются здесь
Anonymous
Java: Matchter Matchter неожиданно возвращает новые линии

Сообщение Anonymous »

У меня есть вариант использования, с которым я должен обрабатывать любые сбежавшие/бесчисленные символы как разделитель, чтобы разделить предложение. До сих пор у нас есть беззаботный /сбежавший персонаж: < /p>

" " (space),"\\t","|", "\\|",";","\\;","," etc
< /code>

, который работает до сих пор с помощью резервуара, определяемой как: < /p>

String delimiter = " ";
String regex = "(?:\\\\.|[^"+ delimiter +"\\\\]++)*";
< /code>

Входная строка: < /p>

String input = "234|Tamarind|something interesting ";
< /code>

Теперь ниже приведен код, который расщепляет и печатает: < /p>

List matchList = new ArrayList( );
Matcher regexMatcher = pattern.matcher( input );
while ( regexMatcher.find() )
{
matchList.add( regexMatcher.group() );
}

System.out.println( "Unescaped/escaped test result with size: " + matchList.size() );
matchList.stream().forEach( System.out::println );
< /code>

Однако есть дополнительные строки (новые строки), которые сохраняются неожиданно. Таким образом, выход выглядит так: < /strong> < /p>

Unescaped/escaped test result with size: 5
234|Tamarind|something

interesting

.
< /code>

Есть ли лучший способ сделать это, чтобы не было никаких дополнительных строк? < /p>

Подробнее здесь: https://stackoverflow.com/questions/531 ... expectedly

Вернуться в «JAVA»