|
Как в коде разложить строку «в стиле конфигуратора» по большим буквам? | ☑ | ||
---|---|---|---|---|
0
gorakh
25.10.16
✎
10:36
|
Только писать свою функцию разложения?
|
|||
1
Гипервизор
25.10.16
✎
10:45
|
ВотТакРазложитьЧтоли?
|
|||
2
gorakh
25.10.16
✎
10:47
|
"Вот так разложить чтоли"
|
|||
3
Лефмихалыч
25.10.16
✎
10:49
|
сначала найти [A-Z|А-Я]{2,}\
потом [A-Z|А-Я]{1,1}\ |
|||
4
Fish
25.10.16
✎
10:51
|
(0) Не припомню такой. В типовых есть РазложитьСтрокуВМассивПодстрок(), но она так не умеет.
|
|||
5
gorakh
25.10.16
✎
10:51
|
(3) А без "регулярки"?
|
|||
6
Лефмихалыч
25.10.16
✎
10:53
|
(5) а без регулярки скучно и уныло
|
|||
7
Fish
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))); КонецЦикла; |
|||
10
gorakh
25.10.16
✎
11:22
|
(9) Большое сенкс.
|
|||
11
ASU_Diamond
25.10.16
✎
11:28
|
(9) так вроде у тебя перед каждой буковкой пробел добавится?
|
|||
12
ASU_Diamond
25.10.16
✎
11:30
|
(+11) а понял, всё верно будет
|
|||
13
singlych
25.10.16
✎
11:51
|
(9) Как ты мог забыть Ё с таким ником?
|
|||
14
Ёпрст
25.10.16
✎
11:53
|
(13) це же пример.
|
|||
15
Lexey_
25.10.16
✎
11:54
|
(9) а если Слава, и не лох, а КПСС?)
|
|||
16
Lexey_
25.10.16
✎
11:57
|
+(15)не прокатит
|
|||
17
Ёпрст
25.10.16
✎
11:57
|
(15) а че, в пофигураторе прокатывает ? И давно ?
|
|||
18
Lexey_
25.10.16
✎
11:59
|
(17) прокатывает, конечно, всегда вроде было
|
|||
19
ks_83
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 и более, то только перед первой.
|
|||
22
ELEA26
25.10.16
✎
12:38
|
Пройтись и ставить пробел, если слева маленькая буква, а справа заглавная.
|
|||
23
ЧеловекДуши
25.10.16
✎
12:43
|
ИсходнаяСтрока = "в стиле конфигуратора";
РедактируемаяСтрока = СтрЗаменить(ИсходнаяСтрока," ",Символы.ПС); РезультСтрока = ""; Для Сч = 1 По СтрЧислоСтрок(РедактируемаяСтрока) Цикл СледСлово = СтрПолучитьСтроку(РедактируемаяСтрока,Сч); Если ПустаяСтрока(СледСлово) тогда РезультСтрока = РезультСтрока + " "; Иначе ПравильнаяСтрока = Врег(Лев(СледСлово,1)) + Сред(СледСлово,2); РезультСтрока = РезультСтрока + " " + ПравильнаяСтрока; КонецЕсли; КонецЦикла; РезультСтрока = СокрЛП(РезультСтрока); |
|||
24
Lexey_
25.10.16
✎
13:01
|
(23) зачем так сложно?
СтрЗаменить(ТРег("в стиле конфигуратора"), " ", "") |
|||
25
Ёпрст
25.10.16
✎
13:04
|
(22) Да, это будет верно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |