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