Разделить строку | разделителем в java

У меня есть строка вот так: 1 | "значение" |;

Я хочу разделить эту строку и выбрал | в качестве разделителя.

Мой код выглядит так:

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

Я получаю массив, содержащий все символы в виде одной записи:

separated[0] = ""
separated[1] = "1"
separated[2] = "|"
separated[3] = """
separated[4] = "v"
separated[5] = "a"
...

Кто-нибудь знает почему?
Не могу ли я разделить строку с помощью | ?

32
задан Prexx 25 September 2015 в 11:53
поделиться

1 ответ

Это - общий метод, который можно использовать с этой целью. Это обработает любой разделитель.
Pattern.quote делает волшебство.

import org.apache.commons.lang3.StringUtils;

public static String[] split(String strToSplit, String delimiter) {
    if (StringUtils.isBlank(strToSplit)) {
        return new String[] {};
    } else if (StringUtils.isBlank(delimiter)) {
        return new String[] { strToSplit };
    }

    return strToSplit.split(Pattern.quote(delimiter));
}

В Вашем примере:

String[] separated = split(line, "|");
0
ответ дан 27 November 2019 в 19:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: