Сплит слова в Java - PullRequest
       2

Сплит слова в Java

0 голосов
/ 20 декабря 2011

Я хотел бы разбить текст на отдельные слова, используя java.

SalesCost for State, тестирование, "28 октября, 2011 00:00:00", 12

Ожидаемый результат:

1.Стоимость продаж для штата
2.тестирование
3. "28 октября 2011 г. 00:00:00"
4.12

Запятаяразделенное разделение не является правильным.

Есть ли другие решения для этого?Любые предложения приветствуются.

-spk-

Ответы [ 4 ]

3 голосов
/ 20 декабря 2011

String.split() использует регулярные выражения.Таким образом, вы можете использовать негативный прогноз для этого.

Попробуйте что-то вроде этого:

split("(?!\\"),(?!\\")");

Я не пробовал это конкретное регулярное выражение, но немного поиграюсь с ним и обратитесь к API doc.В конце дня это должно сработать.

НО, похоже, вы просто хотите разобрать формат CSV.Итак, я бы порекомендовал вам использовать CSV-парсер.Например этот: http://opencsv.sourceforge.net/

3 голосов
/ 20 декабря 2011

Вы пытаетесь проанализировать файл CSV?Похоже на это.В любом случае вы можете попробовать OpenCSV .Вы также можете использовать его для анализа разделенной запятыми строки и определения escape-символа, такого как кавычка.

1 голос
/ 20 декабря 2011

Похоже на CSV.Использовать http://sourceforge.net/projects/javacsv/

Можно установить разделитель столбцов и строк, а также заключить в кавычки текст.

0 голосов
/ 20 декабря 2011

Если вы всегда можете ожидать пробел перед запятыми, разделяющими поля, вы всегда можете добавить его к разделителю, чтобы избежать разделения на запятую в дате.Не так гибко, но может быть гораздо быстрее, если будет безопасно использовать данные.

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