Работа со строками.

Новая тема
Помогите решить задачку
есть строка "111111 аааааааа" как мне вытянуть из этой строки символы стоящие до первого пробела(111111), чтобы записать их в другую строку
"Строка1 = "111111 аааааааа"
позиция = Найти(Строка1," ")
Если позиция > 0 Тогда
  Строка2 = Лев(Строка1,позиция-1);
Иначе
  Строка2 = Строка1;
КонецЕсли
"
"ага получилось

Процедура Сформировать()
Спр=СоздатьОбъект("Справочник.Номенклатура");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()=1 Цикл
Строка1= Спр.Наименование;
позиция = Найти(Строка1," ");
Если позиция > 0 Тогда
Спр.Артикул = Лев(Строка1,позиция-1);
Иначе
  Спр.Артикул = Строка1;
КонецЕсли;
  Спр.Записать();
КонецЦикла;
КонецПроцедуры

А как добавить условие такого рода: обычно строки содержат в первой части до пробела символы состоящие из верхнего регистра, но есть строки содержащие в первой части до пробела символы состоящие из верхнего и нижнего регистра?
т.е. есть строка "ААААА ааааа" такие нужно обрабатывать, а бывают строки "Ааааа ааааа" и "ааааа ааааа" их ненужно обрабатывать, их нужно пропускать?"
"> ага получилось
>
> Процедура Сформировать()
> Спр=СоздатьОбъект("Справочник.Номенклатура");
> Спр.ВыбратьЭлементы();
> Пока Спр.ПолучитьЭлемент()=1 Цикл
> Строка1= Спр.Наименование;
> позиция = Найти(Строка1," ");
> Если позиция > 0 Тогда
>   Спр.Артикул = Лев(Строка1,позиция-1);
> Иначе
>   Спр.Артикул = Строка1;
> КонецЕсли;
>   Спр.Записать();
> КонецЦикла;
> КонецПроцедуры

в выборке лучше не записывать !

> А как добавить условие такого рода: обычно строки содержат в первой части до пробела символы состоящие из верхнего регистра, но есть строки содержащие в первой части до пробела символы состоящие из верхнего и нижнего регистра?
> т.е. есть строка "ААААА ааааа" такие нужно обрабатывать, а бывают строки "Ааааа ааааа" и "ааааа ааааа" их ненужно обрабатывать, их нужно пропускать?

делай их все в нижний регистр и анализируй далее, т.е.

АнализируемаяСтрочка = "Ааааа ааааа";
Найти(НРег(АнализируемаяСтрочка ), "ааааа ааааа") будет отличное от 0 !

"
"> АнализируемаяСтрочка = "Ааааа ааааа";
> Найти(НРег(АнализируемаяСтрочка ), "ааааа ааааа") будет отличное от 0 !
>
Ему надо обработать те кто в верхнем регистре:
АнализируемаяСтрочка = "Ааааа";  //Эта будет пропущена
Если (ВРег(АнализируемаяСтрочка) = АнализируемаяСтрочка) Тогда
  //Обрабатываем
КонецЕсли;
"
спасибо все заработало как нужно
"тогда всё в один регистр

АнализируемаяСтрочка = "Ааааа ааааа";
Найти(НРег(АнализируемаяСтрочка ), НРег("ааааа аАааа")) > 0"
Читают тему
(гостей: 1)

Быстрый переход