Как правильно вставить канал в выражение Java Pattern?
Я на самом деле хочу использовать канал в качестве разделителя, а не оператора или.
т.е:
"hello|world".split("|"); --> {"hello", "world"}
в Java 1.5 +:
"hello|world".split(Pattern.quote("|"));
Escape с помощью \\ :
"hello|world".split("\\|");
У меня часто возникает эта проблема (кодирование регулярного выражения в Java String), поэтому я добавил в закладки инструмент regex на fileformat.info ; у него есть изящная функция, которая покажет вам представление регулярного выражения в Java String после того, как вы его протестируете.
String
"hello|world".split("\\\\|"); --> {"hello", "world"}
Первый набор "\\" только возвращает \ как разделитель. Поэтому для выхода из трубы необходимо 2 комплекта.
"\\"