Научитесь разделять CSV(значения, разделенные запятыми) и сохранять токены в массиве или списке в Java, используя простые и понятные примеры.
1. Разделение CSV с помощью регулярного выражения
Мы можем использовать регулярное выражение «\\s*,\\s*» для сопоставления запятых в строке CSV, а затем использовать метод String.split() для преобразования строки в массив токенов.
String blogName = "how, to, do, in, java";String[] tokenArray = blogName.split("\\s*,\\s*");Assertions.assertArrayEquals(new String[]{"how", "to", "do", "in", "java"}, tokenArray);
Обратите внимание, что rex заботится о дополнительных нежелательных пробелах в строке и токенизирует только нужные строки. В следующем примере обратите внимание на нежелательные множественные пробелы между запятыми.
Assertions.assertArrayEquals(new String[]{"a", "b", "c"}, "a, b,c".split("\\s*,\\s*"));Assertions.assertArrayEquals(new String[]{"a", "b", "c"}, "a, b, c".split("\\s*,\\s*"));
3. Преобразовать массив в список
Чтобы получить список токенов, мы можем передать массив методу Arrays.asList(), который возвращает неизменяемый список фиксированного размера, доступный только для чтения, поддерживаемый массивом.
String[] tokenArray = blogName.split("\\s*,\\s*");List<String> tokenList = Arrays.asList(tokenArray);
Чтобы получить изменяемый ArrayList, скопируйте все элементы из списка, доступного только для чтения, полученного из приведенного выше примера, в новый объект ArrayList.
ArrayList<String> tokenArrayList = new ArrayList(Arrays.asList(tokenArray));
3. Преобразовать список в строку CSV
Если мы хотим преобразовать список в CSV, то мы можем использовать метод String.join(), предоставляемый Java 8.
List<String> list = Arrays.asList("how", "to", "do", "in", "java");String result = String.join(",", list); //delimited by commaAssertions.assertEquals("how,to,do,in,java", result);
Приведенные выше примеры помогут преобразовать CSV в список и список в CSV в Java.
Читать далее:
- Чтение/запись CSV-файла с помощью OpenCSV
- Чтение/запись CSV-файла с помощью SuperCSV
- 3 примера анализа CSV-файлов
- Объединение строк в Java 8