|
v7: Как убрать символы. |
☑ |
0
roalang
03.04.13
✎
07:08
|
Доброй день. Считываю с ДБФ столбец со значениями:
г. "название города", 654789, ул. "название улицы",д. 34, кв. 7 или г. "название города", ул. "название улицы",д. 34, кв. 7.
Подскажите как убрать название города и индекс, чтобы получилось название улицы, дом и квартира.
|
|
1
Wobland
03.04.13
✎
07:10
|
по пробелам. найти первый, отрезать левее, конец цикла.
|
|
2
Mikeware
03.04.13
✎
07:11
|
(1) или стандартное глРазложить, а потом обратно собрать из последних...
|
|
3
kosts
03.04.13
✎
07:14
|
(0) с = Заменить(с, ",", символ_переноса_строки);
Ул = функция получить cтроку по номеру строки(с, 2);
|
|
4
roalang
03.04.13
✎
07:16
|
дело в том, в ДБФ-ке и может быть строка с индексом, а может быть т олько название городы и дальше идет улица, как сделать проверку.
|
|
5
Wobland
03.04.13
✎
07:16
|
теперь пусть автор сам думает, как понять, что третий элемент массива - индекс
|
|
6
Wobland
03.04.13
✎
07:20
|
предлагаю внимательно посмотреть на код первого символа
|
|
7
kosts
03.04.13
✎
07:21
|
(4)
Если Вопрос("" + с + " это индекс? ", ДаНет) = Да Тогда
Сообщить("Это индекс");
ИначеЕсли Вопрос("" + с + " это улица? ", ДаНет) = Да Тогда
Сообщить("Это улица");
Иначе
Сообщить("Я не знаю что это");
КонецЕсли;
|
|
8
roalang
03.04.13
✎
07:34
|
adr =СокрП(ФайлБазы.ПолучитьЗначениеПоля("ADDR"));
п = Лев(adr, Найти("г. Мыски"," " )-8);
у меня получаеются пустые кавычки
|
|
9
Wobland
03.04.13
✎
07:35
|
(8) никогда не задумывался, буду знать. при отрицательном значении второго параметра Лев возвращает пустую строку
|
|
10
roalang
03.04.13
✎
07:35
|
точнее пусто значение
|
|
11
Wobland
03.04.13
✎
07:36
|
(10) точнее, пустая строка. в адр ищи, а не в мысках
|
|
12
roalang
03.04.13
✎
07:45
|
adr =СокрП(ФайлБазы.ПолучитьЗначениеПоля("ADDR"));
п = Лев(adr, Найти(adr,"," ) -1);
получилось г. Мыски
|
|
13
Wobland
03.04.13
✎
07:49
|
(12) поздравляю!
|
|
14
Wobland
03.04.13
✎
08:00
|
стр="г. Носки, 654789, ул. Хренулица, д. 34, кв. 7";
стр1="г. Носки, ул. Хренулица, д. 34, кв. 7";
стр=СтрЗаменить(стр, ",", "");
стр=СтрЗаменить(стр, " ", Символы.ПС);
ЕстьИндекс=КодСимвола(СокрЛП(СтрПолучитьСтроку(стр, 3)));
ЕстьИндекс=ЕстьИндекс>=48 И ЕстьИндекс<=57;
Улица=СокрЛП(СтрПолучитьСтроку(стр, 4+ЕстьИндекс));
Дом=СокрЛП(СтрПолучитьСтроку(стр, 6+ЕстьИндекс));
Квартир=СокрЛП(СтрПолучитьСтроку(стр, 8+ЕстьИндекс));
Сообщить(Улица+"_"+Дом+"_"+Квартир);
|
|
15
ЧеловекДуши
03.04.13
✎
08:32
|
(0) Единственным способом, запретить вводить произвольный адрес. Т.е. хранить в БД адрес в каком либо формате, либо по КЛАДР-у, либо по реквизитам, но что бы всегда было понятно, что и откуда.
А так, никак :)
|
|