2015-01-28 4 views
0

Если я хочу, чтобы проверить символ трубы в регулярном выражении, как показано ниже:как проверить символ трубы в Java

Раньше я использовал следующий код для данных в формате CSV:

fields = rowline.replaceAll("^\"", "").split(
        "\"?(,|$)(?=(([^\"]*\"){2})*[^\"]*$) *\"?"); 

Теперь я хотите изменить приведенный выше код, проверить на наличие отрезков (|).

+1

'|' специальная chracter в регулярном выражении. Вам нужно будет сбежать с помощью двух обратных косых черт в java – TheLostMind

+0

Использование: 'split (" \ "? (\\ || $) (? = (([^ \"] * \ ") {2}) * [^ \ "] * $) * \"? ");' – anubhava

+0

может у PLZ объяснить это регулярное выражение, спасибо заранее. –

ответ

3

| имеет особое значение OR и '\|' означает буквальный '|' поэтому строка "\\|" означает регулярное выражение '\|', что означает точное совпадение символов '|'.

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

Или помощник Pattern.quote(), который был создан именно для этой цели:

string.split(Pattern.quote("|")) 
+0

Спасибо вам большое за ваш отличный ответ. Можете ли вы помочь мне понять регулярное выражение. –

Смежные вопросы