Разделенная строка Java с регулярным выражением, все внутри двойных кавычек
Я пытаюсь разбить строку, например String s = "do not split this \"split this\"";
String[] split = s.split("(?<=\\s)| (?=\") | ((?=[^A-Za-z0-9])|(?<=[^A-Za-z0-9]));
даст мне ["do", " ", "not", " ", "split", "this", " ", "split this"];
Я хотел бы также сохранить все слова и пробелы, но игнорировать все, что находится в двойных кавычках ~
1 ответ
Решение
просто предположение:
String s = "do not split this \"split this\"";
String[] split = s.split( "(?<!\".{0,255}) | (?!.*\".*)" ); // do, not, split, this, "split this"
не разделять пробел, если пробел окружен кавычками,
разделенными на пробел, когда 255 символов слева и все символы справа от пробела не являются кавычками