2013-04-25 2 views
1

Я пытаюсь разбить строку каждый раз, когда в ней есть запятая.Java String Split: «Игнорировать» Сплит-параметр

String myString = "\"Shire, Middle Earth\",Hobbits, J.R.R Tolkien"; 

Моя строка, когда распечатывается является: "Шире, Средиземье", хоббиты, J.R.R. Толкиен

Обратите внимание, что существует пространство между Шире и Средиземьем

Когда я следующие ...

String[] myString = line.split(","); 

Считает запятую между Ширами и Средиземьем запятой, чтобы разделить данные a (как следует). Как я могу заставить его «игнорировать» эту запятую?

+1

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

+0

К сожалению, моя строка исходит из файла, который использует запятые для разделения данных: '(я бы определенно использовал другой делиметр, если это было возможно! – JavaJew22

ответ

3

попробовать это:

line.split(",(?!\\s)") 

Это предпросмотр в регулярном выражении. Вы можете увидеть эту ссылку here