Покинул форум
Сообщений всего: 109
Дата рег-ции: Апр. 2011
Помог: 4 раз(а)
Привет. При сохранении excel в csv, если в тексте есть точка с запятой, то весь текст ячейки помещается в двойные кавычки. Соответственно мне необходимо убрать (заменить) все точки с запятой, которые являются частью текста, а не разделителями. Т.е. нужно в строке найти подстроку, обрамленную двойными кавычками, и в этой подстроке заменить все точки с запятой на, например, запятые. У меня возникла загвоздка в написании регулярки, т.к. в такой подстроке может быть несколько точек с запятой. Я написал один рабочий вариант, но знаю, что можно и нужно по-другому делать. Подскажите... Вот мой вариант:
Покинул форум
Сообщений всего: 109
Дата рег-ции: Апр. 2011
Помог: 4 раз(а)
Medallion пишет:
А чем стандартная строковая функция не угодила?!
Спасибо за ответ. Но я выше описал, что операция происходит над подстрокой строки из csv. str_replace заменит все "точки с запятой", в том числе и используемые в качестве разделителя. Тут только регулярка поможет.
----- Программисты на работе общаются двумя фразами: «непонятно» и «вроде работает».
Medallion
Отправлено: 04 Июня, 2012 - 23:15:08
Частый гость
Покинул форум
Сообщений всего: 253
Дата рег-ции: Май 2012 Откуда: Херсон, Украина
Помог: 7 раз(а)
Ну ладно, кто знал!
DlTA
Отправлено: 05 Июня, 2012 - 02:32:20
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.