У меня проблема, связанная с отправкой кода Java. Как это регулярное выражение разделяет строки с массивом?Как это регулярное выражение разделяет эту строку?
String[] words = haystack.split("[ \"\'\t\n\b\f\r]", 0);
У меня проблема, связанная с отправкой кода Java. Как это регулярное выражение разделяет строки с массивом?Как это регулярное выражение разделяет эту строку?
String[] words = haystack.split("[ \"\'\t\n\b\f\r]", 0);
Я думаю, вы имеете в виду, что haystring (которая является строкой) разделяется на массив строк. Все символы пробела используются в качестве разделителя.
Это расщепление на любой из следующих в классе символов, обозначенном открытия [
и закрытия ]
:
- пространство\"
- цитата\'
- апостроф\t
- tab\n
- line fe ред\b
- забой\f
- форма подачи\r
- возврат кареткиСм Java regex reference разъяснений о регулярных выражений классов символов и символов.
Также обратите внимание, что \'
вполне может быть '
, избегая при этом необходимости в этом случае. Посмотрите example split on Ideone с этим небольшим изменением.
Невозможно представить утверждения в классах символов. Внутри '\ b' я считаю, что это backspace. – sln
@sln: Правильно. Спасибо, что поймал это. Я обновил свой ответ соответственно. – J0e3gan