Преобразовать строку через запятую в список, в котором запятая стоит последней - PullRequest
0 голосов
/ 02 июня 2018

У меня есть строка ниже, которая в конце имеет запятую.Я хочу преобразовать строку в список.Я использую приведенный ниже код для этого.

public class TestClass {
    public static void main(String[] args) {

        String s = "2017-07-12 23:40:00.0,153.76,16.140,60.00,,56.00,";
        String [] items = s.split(",");

        List<String> splittedString = new ArrayList<String>(Arrays.asList(items));
        for (String s1 : splittedString) {
            System.out.println(s1);
        }
        System.out.println("Here");
    }
}

Здесь последняя запятая не рассматривается как элемент списка.Как я могу изменить этот код, чтобы он работал.

Фактический вывод: -

2017-07-12 23:40:00.0
153.76
16.140
60.00

56.00
Here

Ожидаемый вывод: -

2017-07-12 23:40:00.0
153.76
16.140
60.00

56.00

Here

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

Это ожидаемое поведение String # split.

Согласно документам Java.

Этот метод работает так, как если бы он вызывал метод разбиения с двумя аргументами с данным выражением и предельным аргументом, равным нулю.Поэтому завершающие пустые строки не включаются в результирующий массив.

0 голосов
/ 02 июня 2018

Измените линию разделения на:

String [] items = s.split(",", -1);

, и все должно получиться так, как вы ожидаете.Это версия с ограничением.Проверьте ссылку .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...