Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Как в коде разложить строку «в стиле конфигуратора» по большим буквам?

Как в коде разложить строку «в стиле конфигуратора» по большим  буквам?
Я
   gorakh
 
25.10.16 - 10:36
Только писать свою функцию разложения?
 
 
   Гипервизор
 
1 - 25.10.16 - 10:45
ВотТакРазложитьЧтоли?
   gorakh
 
2 - 25.10.16 - 10:47
"Вот так разложить чтоли"
   Лефмихалыч
 
3 - 25.10.16 - 10:49
сначала найти [A-Z|А-Я]{2,}\
потом [A-Z|А-Я]{1,1}\
   Fish
 
4 - 25.10.16 - 10:51
(0) Не припомню такой. В типовых есть РазложитьСтрокуВМассивПодстрок(), но она так не умеет.
   gorakh
 
5 - 25.10.16 - 10:51
(3) А без "регулярки"?
   Лефмихалыч
 
6 - 25.10.16 - 10:53
(5) а без регулярки скучно и уныло
   Fish
 
7 - 25.10.16 - 10:53
(5) Только обходить в цикле по символам.
   Юрий Лазаренко
 
8 - 25.10.16 - 11:01
(7) Так там 10 минут надо, чтобы функцию написать. Строка-константа с символами, перед которыми ставим пробел, и потом в цикле СтрЗаменить(ИсходнаяСтрока, ТекущийСимвол, " " + ТекущийСимвол). В конце для полученной строки (СокрЛ), чтобы убрать добавленный в начале пробел.
   Ёпрст
 
9 - 25.10.16 - 11:01
(0) ну типа так
ИсходнаяСтрока = "ВасяЛох";
Буковки = "QWERTYUIOPASDFGHJKLZXCVBNMЙЦУКЕНГШЩЗХФЫВАПРОЛДЖЭЯЧСМИТБЮ";
Для к = 1 По СтрДлина(Буковки) Цикл

   ИсходнаяСтрока = СтрЗаменить(ИсходнаяСтрока,Сред(Буковки,к,1)," "+Нрег(Сред(Буковки,к,1)));
КонецЦикла;
   gorakh
 
10 - 25.10.16 - 11:22
(9) Большое сенкс.
 
 Рекламное место пустует
   ASU_Diamond
 
11 - 25.10.16 - 11:28
(9) так вроде у тебя перед каждой буковкой пробел добавится?
   ASU_Diamond
 
12 - 25.10.16 - 11:30
(+11) а понял, всё верно будет
   singlych
 
13 - 25.10.16 - 11:51
(9) Как ты мог забыть Ё с таким ником?
   Ёпрст
 
14 - 25.10.16 - 11:53
(13) це же пример.
   Lexey_
 
15 - 25.10.16 - 11:54
(9) а если Слава, и не лох, а КПСС?)
   Lexey_
 
16 - 25.10.16 - 11:57
+(15)не прокатит
   Ёпрст
 
17 - 25.10.16 - 11:57
(15) а че, в пофигураторе прокатывает ? И давно ?
   Lexey_
 
18 - 25.10.16 - 11:59
(17) прокатывает, конечно, всегда вроде было
   ks_83
 
19 - 25.10.16 - 12:04
(9)На самом деле так
ИсходнаяСтрока = "ВасяЛох";
Буковки="";
Для к = 1 По СтрДлина(ИсходнаяСтрока) Цикл
    Буква=Сред(ИсходнаяСтрока,к,1);
    Если Буква=Врег(Буква) и Найти(Буковки,Буква)=0 Тогда
        Буковки=Буковки+Буква;    
    КонецЕсли;
КонецЦикла;
    
Для к = 1 По СтрДлина(Буковки) Цикл
   ИсходнаяСтрока = СтрЗаменить(ИсходнаяСтрока,Сред(Буковки,к,1)," "+Нрег(Сред(Буковки,к,1)));
КонецЦикла;
Сообщить(ИсходнаяСтрока);
   Ёпрст
 
20 - 25.10.16 - 12:12
(18) Ну, тогда только перебором символов, по условию, что ежели только одиночная заглавная - втыкать пробел
   Ёпрст
 
21 - 25.10.16 - 12:21
точнее, перед одной заглавной пробел, если 2 и более, то только перед первой.
   ELEA26
 
22 - 25.10.16 - 12:38
Пройтись и ставить пробел, если слева маленькая буква, а справа заглавная.
   ЧеловекДуши
 
23 - 25.10.16 - 12:43
ИсходнаяСтрока = "в стиле конфигуратора";
РедактируемаяСтрока = СтрЗаменить(ИсходнаяСтрока," ",Символы.ПС);

РезультСтрока = "";

Для Сч = 1 По СтрЧислоСтрок(РедактируемаяСтрока) Цикл
СледСлово = СтрПолучитьСтроку(РедактируемаяСтрока,Сч);
Если ПустаяСтрока(СледСлово) тогда
РезультСтрока = РезультСтрока + " ";
Иначе
ПравильнаяСтрока = Врег(Лев(СледСлово,1)) + Сред(СледСлово,2);
РезультСтрока = РезультСтрока + " " + ПравильнаяСтрока;
КонецЕсли;
КонецЦикла;

РезультСтрока = СокрЛП(РезультСтрока);
   Lexey_
 
24 - 25.10.16 - 13:01
(23) зачем так сложно?
СтрЗаменить(ТРег("в стиле конфигуратора"), " ", "")
   Ёпрст
 
25 - 25.10.16 - 13:04
(22) Да, это будет верно


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует