Я задал этот вопрос раньше, и он был закрыт, потому что это был дубликат, который я принимаю и фактически нашел ответ в вопросе Java: разделение строки, разделенной запятыми, но игнорирование запятых в кавычках, поэтому благодаря тому, кто опубликовал его.
Но с тех пор я столкнулся с другой проблемой. По-видимому, мне нужно использовать "," как мой разделитель, когда есть нуль или четное число двойных кавычек, но также игнорировать любые ",", содержащиеся в скобках.
Итак, следующее:
"Thanks,", "in advance,", "for("the", "help")"
Будет означать как:
- Спасибо,
- заранее,
- для ( "the", "help" )
Я не уверен, если так или иначе, чтобы изменить текущее регулярное выражение, которое я использую для этого, но любое руководство будет оценено.
line.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");