|
Найти и заменить подстроку | ☑ | ||
---|---|---|---|---|
0
myr4ik07
25.01.16
✎
11:54
|
Привет, есть код 0000000001, 000000000000010, ТР1000001, я хотел бы все с такого 0000000001 получить 1, а вот с такого 000000000000010 получить 10, то есть взять все слева до символа отличного от 0, а 0 заменять слева
|
|||
1
myr4ik07
25.01.16
✎
11:54
|
а там где ТР то ничего не трогать
|
|||
2
GROOVY
25.01.16
✎
11:55
|
Сделай это.
|
|||
3
vicof
25.01.16
✎
11:55
|
"я хотел бы"
хоти дальше |
|||
4
myr4ik07
25.01.16
✎
11:56
|
пожалуйста :) должно быть первым, извините
|
|||
5
vicof
25.01.16
✎
11:57
|
(4) Это ничего не меняет
|
|||
6
vicof
25.01.16
✎
11:57
|
За 2000 на телефон я тебе напишу код
|
|||
7
myr4ik07
25.01.16
✎
11:57
|
(5) а жаль, ну и на этом спасибо
|
|||
8
GreatOne
25.01.16
✎
11:58
|
Найти первый символ не 0, дальше все оставить
|
|||
9
aleks_default
25.01.16
✎
11:58
|
(0) программирование не твое, если такие вопросы задаешь
|
|||
10
Nuobu
25.01.16
✎
11:59
|
(0) В запросе?
|
|||
11
myr4ik07
25.01.16
✎
12:00
|
(10) в массиве, в массиве коды елементов из запроса 00001, 00002 .... 00010
|
|||
12
IlyaSR
25.01.16
✎
12:00
|
Функция СтрокаВЧислоСправа(Знач ИсходнаяСтрока)
ИсходнаяСтрока = СокрЛП(ИсходнаяСтрока); ДлинаСтроки = СтрДлина(ИсходнаяСтрока); Результат = ""; ЗнакОтрицательный = Ложь; ЕстьДробнаяЧасть = Ложь; ЕстьЗакрСкобка = Ложь; Для НомерСимвола = 1 По ДлинаСтроки Цикл КодСимвола = КодСимвола(ИсходнаяСтрока, ДлинаСтроки+1-НомерСимвола); Если КодСимвола = 32 Или КодСимвола = 160 Тогда // Пробел или неразрывный пробел. // Пропуск (действие не требуется). ИначеЕсли КодСимвола = 41 Тогда // Закрывающая скобка. ЕстьЗакрСкобка = Истина; Если ПустаяСтрока(Результат) Тогда // Не было ещё числа. Продолжить; Иначе Прервать; КонецЕсли; ИначеЕсли КодСимвола = 45 Тогда // Минус ЗнакОтрицательный = Истина; Прервать; ИначеЕсли КодСимвола = 40 Тогда // открывающая скобка. Если НЕ ПустаяСтрока(Результат) И ЕстьЗакрСкобка Тогда Прервать; Иначе Продолжить; КонецЕсли; ИначеЕсли КодСимвола = 44 Или КодСимвола = 46 Тогда // Запятая или точка. Если ЕстьДробнаяЧасть И НЕ ПустаяСтрока(Результат) Тогда Прервать; // Разделитель уже был и цифры тоже, следовательно прервём поиск. ИначеЕсли ПустаяСтрока(Результат) Тогда Продолжить; КонецЕсли; ЕстьДробнаяЧасть = Истина; Результат = "."+ Результат; ИначеЕсли КодСимвола > 47 И КодСимвола < 58 Тогда // Число. Результат = Символ(КодСимвола)+ Результат; КонецЕсли; КонецЦикла; Если ЗнакОтрицательный Тогда Результат = "-"+ Результат; КонецЕсли; Попытка Возврат Число(Результат); Исключение Возврат 0 КонецПопытки; КонецФункции |
|||
13
Nuobu
25.01.16
✎
12:03
|
(11) ПолучитьНомерНаПечать
|
|||
14
Timon1405
25.01.16
✎
12:04
|
ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать
в любой типовой |
|||
15
Timon1405
25.01.16
✎
12:04
|
*БСП
|
|||
16
myr4ik07
25.01.16
✎
12:54
|
Функция УбратьНули(НомерСтрокой)
Если Лев(НомерСтрокой, 1) = "0" Тогда Возврат УбратьНули(Прав(НомерСтрокой, СтрДлина(НомерСтрокой) - 1)); Иначе Возврат НомерСтрокой; КонецЕсли; КонецФункции ИтоговаяСтрока = УбратьНули(Номер); |
|||
17
kittystark
25.01.16
✎
12:54
|
через регулярные выражения делаешь замену по шаблону
^0+ на пустую строку |
|||
18
Nuobu
25.01.16
✎
12:56
|
(16) ТР1000001
|
|||
19
Temai
25.01.16
✎
12:58
|
Где мой цикл?
|
|||
20
hhhh
25.01.16
✎
13:12
|
(18) читай (1)
|
|||
21
Nuobu
25.01.16
✎
13:19
|
(20) аа. Ну, а зачем, тогда создавать ветку на мисте ради функции в 9 строк?
|
|||
22
Xapac
25.01.16
✎
13:31
|
(21) так удобней
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |