Разбить составное слитное слово #596929


#0 by abitfrosty
Может кто-то знает, как из "ЕдиницаИзмерения" получить строку "Единица измерения". Так, как это делает 1с штатными механизмами.
#1 by Чайник Рассела
метод РазбитьСоставноеСлитноеСлово
#2 by DrShad
+100500
#3 by DrShad
делов то на 10 минут
#4 by Reset
Я знаю, тебе нужно с тичностью наоборот,, но решил просто отметиться в теме.
#5 by abitfrosty
Да знаю, что не долго, мало ли кто-то недавно делал, 10 минут тоже сэкономить неплохо)
#6 by YFedor
Поздно, ты 7 уже потратил
#7 by Fish
7 минут на мисте ты уже потерял. :)))
#8 by D_Pavel
Ты 7 минут потерял
#9 by D_Pavel
-
#10 by Reset
, Поскольку осталось 3 минуты, а за 3 он не напишет, остается биться до последнего и ждать результата здесь (чтобы 7 минут не были потрачены зря)
#11 by Fish
Ладно уж, помогу:
#12 by НафНаф
время вышло
#13 by DrShad
в минус работы ушли
#14 by D_Pavel
Нужно искать все заглавные буквы и заменять их на пробел и маленькую букву.
#15 by DrShad
не нужно их искать
#16 by НафНаф
там хитрее (у 1С)
#17 by D_Pavel
Иначе никак Там с некоторыми дополнениями и условиями.
#18 by DrShad
уверен? что иначе никак? за 5000 я тебе покажу как делается иначе и проще
#19 by abitfrosty
regexp?)
#20 by D_Pavel
5000 за такое не дам. Если понадобится, мне за 200 сделают более сложным способом чем даже я написал.
#21 by hhhh
как 1С делает, подскажу. У реквизита есть имя "ЕдиницаИзмерения", а есть синоним "Единица измерения". Поэтому вам по уму надо взять синоним из метаданных этого реквизита.
#22 by DexterMorgan
Представление
#23 by DexterMorgan
для метаданных
#24 by DrShad
ТС привел как пример и не факт что он по метаданным идет
#25 by DexterMorgan
Ну млин а если синоним отсутствует? мало ли заинтриговал+)
#26 by abitfrosty
Оно не имеет метаданных
#27 by salvator
Строка чёли?
#28 by abitfrosty
Да
#29 by hhhh
ну тогда элементарно: иди по тексту и меняй каждый большой символ на пробел+маленький символ. Детская задача, а ты уже почти час паришься.
#30 by salvator
Циклом пройди по каждому символу в строке, и если символ заглавный, но меняй его на пробел+строчный
#31 by Starhan
у тя ошибка в алгоритме
#32 by Starhan
хотя вру )
#33 by Starhan
но надо проверить на две заглавные пордяд )
#34 by Starhan
и начинать надо со 2го символа
#35 by Jaffar
а что тут не так? МетрыИКилограммы должны превратиться в "Метры и килограммы", исключений для 2 подряд заглавных нет.
#36 by DrShad
ну как тебе решение в ? без поиска
#37 by Reset
Так он и не парится. Сидит с покорном и ждет, когда напишут.
#38 by DexterMorgan
Что значит без поиска? условие на то, что заглавная и есть поиск при обходе..
#39 by DexterMorgan
он это и имел ввиду
#40 by Fish
Всё спорите и спорите, а правильный ответ на был ещё в :))))
#41 by Reset
Там не по феншую. По феншую должна быть еще Иначе ВызыватьИсключение "Такая строка не поддреживается" тогда решение будет законченным
#42 by Fish
Согласен, только вместо ВызватьИсключение я бы использовал ЗавершитьРаботуСистемы(Ложь) :)))
#43 by davidman1984
#44 by davidman1984
#45 by Reset
Можно написать Гораздо лучше по методу из , код будет в 3 раза короче, при этом поддерживать также латиницу и знаки препинания. Слабо?
#46 by Reset
+ плюс грубо в 5-10 раз быстрее
#47 by D_Pavel
То же самое что я предложил. Это и было решение за 5000?
#48 by DexterMorgan
#49 by D_Pavel
+1, так по моему и надо
#50 by DexterMorgan
о надо в цикле еще i=i+1, тк на два символа меняем
#51 by D_Pavel
Только потом СокрЛ сделать
#52 by Reset
После драки? кулаками? Дада, ты точно то же и имел в виду. ТС кстати грац - дождался (ну почти) Сейчас еще ошибки исправят, подрихтуют)
#53 by davidman1984
#54 by D_Pavel
В каком смысле дада? На самом деле, я именно это и говорил. Смотри
#55 by DexterMorgan
#56 by kinsm
Неверно. КоличествоКолбасы => количество колбасы
#57 by Reset
В том, что когда кто-то решит, сказать, "я хотел так же, я тоже умный, даже раньше". В - некая формализация условия из , а не предложение. Причем неточно сформулированное. Ничего "искать" не нужно. Впрочем, я думаю, мы с тобой на разных языках говорим.
#58 by DexterMorgan
i=2 МБ???!!
#59 by kinsm
+ хотя вообще не отработает по причине
#60 by DexterMorgan
Че ты врешь тестер=)))
#61 by DexterMorgan
Не вводи людей в заблуждение.
#62 by DexterMorgan
Я проверил=)
#63 by DrShad
поиск и перебор разные вещи если что
#64 by kinsm
Если в строке будут 2 одинаковые заглавные буквы и одна из них первая, то код заменит обе, что не по условию в . А вообще твой код в не может работать
#65 by kinsm
ТвояСтрока = СтрЗаменить(ТвояСтрока, ПроверяемыйСимвол, СтрокаЗамены);  заменяет все вхождения подстроки, независимо от твоего i2
#66 by DexterMorgan
Ладно, не проверял, ибо нах=)))
#67 by kinsm
ну и вдогонку: i = i + 1 надо внутрь условия добавить, чтоб вообще заработало
#68 by Киборг
Можно и без программирования решить задачку... Добавить кнопку командной панели "ВМетрыИКилограммы", не указывая текст. Тогда в ее свойстве "Текст" будет значение "В метры и килограммы". :)
#69 by DexterMorgan
Да тут кароче надо просто новую строку формировать, а не в старой пытаться заменить ибо
#71 by Reset
(чтоб за сотку не перевалило)
#72 by kinsm
гыгы, к 70 посту родили-таки работающее решение
#73 by Киборг
"ВПроизводныеИзСИ" -> "В производные из СИ" получится?
#74 by D_Pavel
Я не говорю что я "хотел" так же, я говорю что я предложил так же. Как это ничего не нужно искать? А как ты определишь в какой позиции нужно заменять букву, телепатией чтоли? Я согласен с тобой в том что ты меня не понял.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С