СтрЗаменить() без учета регистра #554054


#0 by totparen
Всем привет! Наверняка сейчас тумаков огребу - лень моск тревожить, может есть у кого готовая функция замены строк без учета регистра?
#1 by zak555
это что ли ?
#2 by zak555
т.е. так :
#3 by KishMish
т.е. так:
#4 by Темный Эльф
Ну а если в Стр все нужные символы в нижнем регистре, что получишь?
#5 by Темный Эльф
А если нужно сохранить регистр незаменяемых символов?
#6 by andrewks
а никто не задумался над тем, что автору надо сохранить разрядность оставшегося текста?
#7 by andrewks
опередил, блин!
#8 by 1Сергей
Это не то, но может, поможет:
#9 by Ёпрст
СтрЗаменить(нрег("Вася"),нрег("ва"),"лох") = лохся
#10 by KishMish
тут тогда советую сделать посимвольную проверку и щзапомнить расположение регистров в двоичной строке типа 100101001001 потом получить все в одном регистре и по строке восстановить регистры
#11 by 1Сергей
СтрЗаменить(нрег("ВаСя"),нрег("ва"),"лох") = лохся
#12 by KishMish
+ не факт что колво заменяемых симолов будет равно колву заменяющих, так что тут надо значь конкретно задачу, что надо в Автору
#13 by totparen
Ох йоу... понаписали то.. не успел тему создать. Всяко одной СтрЗаменить в этом деле не обойтись. Правильно сказали, не нужно менять регистр в исходнике.
#14 by zak555
там нет разрыва  &
#15 by KishMish
непроверял, но думаю алгоритм рабочий Номер=Найти(ВРег(ИсходнаяСтрока),Врег(ИскомаяСтрока)); Пока Номер>0 Цикл
#16 by Ёпрст
SELECT replace('ВаСя','ва','лох') = лохСя
#17 by totparen
не подойдёт для несколько замен в одной строке. Рекурсию придётся видимо делать.
#18 by KishMish
почему не подойдет, а цикл зачем там стоит?
#19 by 1Сергей
Скорее всего будет затык, если надо в строке "Шуба с переподвертом" заменить "под" на "подвыпод"
#20 by KishMish
ты прав, тогда предлагаю так ХитраяСтрока="<#KISHMISH#>"; Номер=Найти(ВРег(ИсходнаяСтрока),Врег(ИскомаяСтрока));
#21 by KishMish
#22 by 1Сергей
Функция ЗаменаПодстроки(Знач Исходная, Подстрока, Замена)
#23 by 1Сергей
* Сообщить(Рез); - лишнее
#24 by totparen
Косячит: Заменяет "Ехал грека через реку, видит грека в реке рак."
#25 by totparen
* менял "ек" на "ЫЫЫЫ"
#26 by 1Сергей
а моя выдаёт "Ехал грЫЫЫЫа через рЫЫЫЫу, видит грЫЫЫЫа в рЫЫЫЫе рак."
#27 by totparen
Пасибо! Блин, напоминил мне заодно как значение в функцию передвать, а то я всё пытался воткнуть ПЕРЕМ, ваместо ЗНАЧ
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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