![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 03.03.2018
Сообщений: 25
|
![]()
Здравствуйте.
Есть простая функция, которая обрабатывает строчку по сепараторами > и вытаскивает подстроки адреса Формат строки - "Country>City>Street>Aprts" Первым делом мы проверяем, что формат строки соответствует, т.е. сепараторов 4 штуки Код:
Country>City>Str>eet>Aprts В итоге адрес не разобрали, тк посчитали строчку с неправильным форматом. Отправителю ничего не предъявишь, такая уж у него улица получилась... Договорились при сборке строки с адресом экранировать символом $ те галки, которые за разделители считать не стоит, т.е. "Country>City>Str$>eet>Aprts" И переделали на скорую руку цикл с подсчётом разделителей на Код:
Старый цикл это бы осилил, а новый нет, т.к. начинает проверять строку со второго символа Подскажите, пожалуйста, возможный вариант решения. Проверку на количество сепараторов убирать нельзя. Нужно именно цикл написать, чтобы осилял оба случая. Можно изначальное решение с экранированием переделать, но ничего в голову не приходит пока... |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 02.06.2021
Сообщений: 515
|
![]() Код:
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]() Код:
|
![]() |
![]() |
![]() |
#4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,428
|
![]()
А в формате строки их три.
А если строка пустая?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
Это все равно не нужно проверять в цикле.
Код:
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,370
|
![]()
Начинайте с нуля и после проверки сохраняйте последний символ, который прочитали.
Каждый раз дойдя до сепаратора просто проверьте был ли предыдущий символ символом экранирования. |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]() |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,370
|
![]() |
![]() |
![]() |
![]() |
#9 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,428
|
![]()
Все-таки лучше логическое И.
Лишнее Больше затесалось.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
StrToDate по формату без разделителей - возможно? | Ship_1 | Общие вопросы Delphi | 3 | 04.05.2017 12:07 |
Выгрузка из Эксель в текстовый документ без разделителей... | igoryava | Microsoft Office Excel | 19 | 24.03.2015 13:44 |
Ввод строк и массива разделителей | AdelinaMango | Общие вопросы C/C++ | 1 | 06.04.2014 15:58 |
порядок разделителей | губка | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 26.09.2011 12:06 |
Ввод даты без разделителей (311007) | avtor101 | Microsoft Office Excel | 1 | 31.10.2007 19:57 |