Вы хотите найти все символы после кавычки ("), которые не являются кавычками, вплоть до следующей кавычки.
Regex, чтобы найти все тексты между двумя кавычками:
"[^"]*"
|| ||
|| |and terminated with a "
|| MANY repeatations of that (written as *)
|characters that are NOT " (written as [^"])
Start with "
Но теперь вы не хотите, чтобы ОДНА находка для такой строки между "и" - вы хотите, чтобы каждый символ был уникальной находкой.
На данный момент стандартное регулярное выражение не может сделать работу за вас:
Вы можете получить только первый символ такой находки с помощью "([^"])[^"]*"
, но тогда ваш следующий вопрос - как получить 2-й, 3-й и т. Д. Вы можете подумать о добавлении идентификаторов переменной длины до и после совпадения ... но даже с регулярным выражением, таким как "[^"]*([^"])[^"]*"
, вы всегда получите ОДНО совпадение для нахождения между обоими "". Regex не поддерживает концепцию циклического анализа результатов; подстановочные знаки всегда оцениваются как max-match.
Так что вам нужно что-то другое.
Я бы порекомендовал искать первую позицию "" внутри вашей строки, например, с помощью String.indexOf (...), а затем перебирать строку до тех пор, пока не найдете следующую (завершающую) кавычку.
Для всех символов между ними вы можете заменить его.
Поэтому вы будете работать с отдельной переменной вывода данных.