|
Как узнать количество символов в строке? | ☑ | ||
---|---|---|---|---|
0
URAL
02.06.12
✎
14:49
|
Перебираю спр. номенклатуры. Нужно перебрать наименование, где 20 символов а где 100 и т.д.
Можно ли перебрать в цикле строку по каждому символу? Например; Имя = "Кофе Нескафе 350гр/упак./растворимый" Для каждого символа по Имя.Количество() Цикл КонецЦикла Только Имя.Количество() не будет работать в данном случае Как можно сделать? |
|||
1
Wobland
02.06.12
✎
14:52
|
СтрДлину отменили или где?
|
|||
2
Фокусник
02.06.12
✎
14:52
|
(0) Про нужные для этого операторы можно почитать в СП в той же ветке, где и СокрЛП() :)
|
|||
3
Wobland
02.06.12
✎
14:52
|
ну и Сред(стр, н, 1) тоже, видимо
|
|||
4
Wobland
02.06.12
✎
14:58
|
я понял! можно писать строку в файл и получать потом размер файла. главное, не забыть потом его удалить
|
|||
5
URAL
02.06.12
✎
15:12
|
Всем спасибо!
Для тех у кого будет аналогичный интерес вот решение вопроса: // обрабатываемая строка => НужныйСпр.Наименование Для Яч=1 По СтрДлина(НужныйСпр.Наименование) Цикл Сообщить(Сред(НужныйСпр.Наименование,Яч,1)); КонецЦикла; |
|||
6
Wobland
02.06.12
✎
15:13
|
в книгу знаний!
|
|||
7
Фокусник
02.06.12
✎
15:17
|
(0) >Перебираю спр. номенклатуры. Нужно перебрать наименование
А какая цель этого перебора? |
|||
8
URAL
02.06.12
✎
15:19
|
(7) привести в соответствие справочник
|
|||
9
Фокусник
02.06.12
✎
15:20
|
(8) Что-то уточнение не уточнило задачу :)
|
|||
10
URAL
02.06.12
✎
15:33
|
(9) //получаем новое имя и перезаписываем наименование справочника
НовоеИмя=""; Для Яч=1 По СтрДлина(НужныйСпр.Наименование) Цикл Если НЕ (Сред(НужныйСпр.Наименование,Яч,1)) = " " и Яч=1 Тогда НовоеИмя=НовоеИмя+(Сред(НужныйСпр.Наименование,Яч,1)); КонецЕсли; КонецЦикла; Сообщить("-------------НОВОЕ ИМЯ------------"); НужныйСпр.Наименование = НовоеИмя; НужныйСпр.Записать(); Сообщить(НужныйСпр.Наименование); |
|||
11
URAL
02.06.12
✎
15:35
|
+(10) в цикле убрал пробелы в наименовании спр. номенклатура
|
|||
12
Wobland
02.06.12
✎
15:39
|
(11) СтрЗаменить идёт лесом, я так понимаю
|
|||
13
Wobland
02.06.12
✎
15:40
|
нет, ну каков красавец, а?
|
|||
14
Wobland
02.06.12
✎
15:44
|
(12) СокрЛ, пардон
|
|||
15
kosts
02.06.12
✎
15:54
|
(10) Поправьте меня, если я не прав, но это:
Эквивалентно этому:
|
|||
16
0_Serg_0
02.06.12
✎
15:58
|
(15)походу ТС ща накуролесит в базе...)
|
|||
17
Wobland
02.06.12
✎
15:59
|
(15) да он фигню какую-то хочет, не знаю о существовании функций работы со строками. не буду поправлять, не хочу думать ;)
|
|||
18
Wobland
02.06.12
✎
15:59
|
(17) *не зная
|
|||
19
MishaD
02.06.12
✎
16:00
|
(14) Это не СокрЛ. Он только первый пробел убирает
|
|||
20
0_Serg_0
02.06.12
✎
16:02
|
(10)
запишется только последний элемент с непонятным именем |
|||
21
Mikeware
02.06.12
✎
16:03
|
пипец.
|
|||
22
0_Serg_0
02.06.12
✎
16:04
|
(20)...не..я тож туплю))
|
|||
23
Wobland
02.06.12
✎
16:05
|
предлагаю всем перестать вникать в г-код автора
|
|||
24
kosts
02.06.12
✎
16:06
|
Один совет автору. Сделать резервную копию БД...
|
|||
25
0_Serg_0
02.06.12
✎
16:07
|
(23)
помоему..: если 1 символ не пробел не пробел - тогда первый символ название; иначе без изменений |
|||
26
Mikeware
02.06.12
✎
16:10
|
(24) Неправильный совет. потому как восстановить с копии он тоже не сможет. Правильный совет - "вон из профессии!"©
|
|||
27
MishaD
02.06.12
✎
16:11
|
(25) Точно, точно. Ну может ему такое извращение и надо.
|
|||
28
URAL
02.06.12
✎
16:24
|
Мне нужно убрать ковычки, / и еще ряд символов, а не просто пробелы
Поетому перебрать можно только тем способом корректно которым я указал До сего лучшего примера никто не написал |
|||
29
GROOVY
02.06.12
✎
16:25
|
(28) Есть СТРЗаменить()
|
|||
30
URAL
02.06.12
✎
16:29
|
(29) знаю, но мне нужно еще и наименование по заданному шаблону переписать, так что не совсем то
|
|||
31
Wobland
02.06.12
✎
16:29
|
(28) кому надо писать тривиальное? впрочем, да - в книгу знаний!
|
|||
32
Wobland
02.06.12
✎
16:30
|
(30) да скажи уже всем спасибо и перестань быть объектом насмешек
|
|||
33
URAL
02.06.12
✎
16:30
|
Тоже вопрос продолжение данной темы, но написал в другой теме т.к. немножко не по теме))) v8: Как проверить на ковычки строку?
|
|||
34
URAL
02.06.12
✎
16:31
|
(32) смотри в (5)
|
|||
35
URAL
02.06.12
✎
16:32
|
+34 предпочитаю быть объектом насмешек, но разобраться полностью
|
|||
36
Mikeware
02.06.12
✎
16:44
|
феерический идиот....
|
|||
37
Vladal
03.06.12
✎
01:57
|
(28) Правильно, грамотно "кавычки"
|
|||
38
IamAlexy
03.06.12
✎
01:58
|
жесть...
с каждым месяцем 1Сники все тупее и тупее... |
|||
39
hhhh
03.06.12
✎
02:38
|
(24) если делать копию базы, то он никогда не научится программировать. Когда откроет базу а там в наименованиях фигня, хотя бы мозг запустится. А если бекап будет, то он вернет на место всё, и мозг так и не заработает.
|
|||
40
batman69
03.06.12
✎
07:12
|
что-то народ совсем думать отказывается, ппц.
|
|||
41
Эмбеддер
03.06.12
✎
07:15
|
да он просто прикалывается
|
|||
42
batman69
03.06.12
✎
07:20
|
хорошо если так, хотя судя по его веткам....
|
|||
43
Ткачев
03.06.12
✎
07:53
|
(38)Все правильно, адинэска все хуже и хуже, вот под нее и подстраиваются.
|
|||
44
experimentator76
03.06.12
✎
14:14
|
(5) писец - да ты Гений 1С!!
нобелевку! |
|||
45
experimentator76
03.06.12
✎
14:16
|
(10) запросом - не ?
|
|||
46
experimentator76
03.06.12
✎
14:18
|
(26) поддержу... дверь со стороны 1С
|
|||
47
experimentator76
03.06.12
✎
14:20
|
(38) с одной стороны хорошо, а с другой не очень если они в профессии :(
|
|||
48
smaharbA
03.06.12
✎
15:05
|
Стр="// Вставить содержимое " " обработчика.";
рег=Новый COMОбъект("VBScript.RegExp"); рег.Pattern="."; рег.Global=ИСТИНА; Для Каждого Х из рег.Execute(Стр) Цикл Сообщить(Х.Value); КонецЦикла; |
|||
49
Torquader
03.06.12
✎
16:23
|
Функция УбратьЛишниеПробелы(ИсходнаяСтрока)
// задаём строку символов, после которых пробелы убрать ШаблПробелов=".,:;"; // убираем пробелы в начале и в конце, чтобы не мешали ВремСтрока=СокрЛП(ИсходнаяСтрока); // получаем количество символов в строке КолСим=ДлСтроки(ВремСтрока); // результирующая строка всегда пустая РезСтр=""; // предполагаем, что пробел уже есть ФлагПробел=1; Для ТекСим=1 По КолСим Цикл // получаем символ из строки Сим=Сред(ВремСтрока,ТекСим,1); Если Сим=" " Тогда // если это пробел, то нужно проверить, // что у нас пробела до этого не было Если ФлагПробел=0 Тогда РезСтр=РезСтр+" "; ФлагПробел=1; КонецЕсли; Иначе // если не пробел, то выводим символ РезСтр=РезСтр+Сим; // также проверяем необходимость пробела Если Найти(ШаблонПробелов,Сим)>0 Тогда // если мы нашли символ, после которого пробел убираем ФлагПробел=1; Иначе ФлагПробел=0; КонецЕсли; КонецЕсли; КонецЦикла; Возврат РезСтр; КонецФункции |
|||
50
aleks-id
03.06.12
✎
16:33
|
(49) что за шербет? (с)
|
|||
51
0_Serg_0
03.06.12
✎
16:39
|
кто то реально пишет стока (49) коментов?? О_О
|
|||
52
aleks-id
03.06.12
✎
16:44
|
кто то реально пишет копрокод
|
|||
53
experimentator76
03.06.12
✎
17:10
|
наверное ему платят за строки кода
поэтому каждое слово расшифровано |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |