Замена значений в текстовом файле #275311


#0 by Merlin2006
Привет Никто не сталкивался с такой проблемой?! Надо заменить текст допустим !"А" в "Б"! на следующий текст !"Б" в "А"! Если мы допустим будем искать по символу т.е. А->Б 1 раз заменяем Б->А тогда при первом проходе у нас получится 2 раз заменяем !"Б" в "Б"! при втором !"А" в "А"! А нам надо получить !"Б" в "А"! ?!
#1 by Ёпрст2
Вопрос из серии как поменять значения  2-х переменных местами .... Ответ - через третью ...
#2 by Chieftain
Не ищи, а последовательно перебирай символы и ищи в таблице замен
#3 by Merlin2006
Получается мы меняем !"А" в "Б"! добавляем еще один символ и тогда !"А" в "А1"! 1 раз !"Б1" в "А1"! 2 раз и на 3-им проходе мы убираем 1 символ?! Я правильно понял?!
#4 by McNamara
делай перебор нашел нужный символ-заменяй на нужный идешь далее один проход там будет
#5 by Ёпрст2
#6 by RK
Не-а! Не один. Там ещё другой вопрос. А если тексте есть А1? Будет А11 - Б1! А если А1 трогать нельзя?
#7 by McNamara
значит бери символы не с длиной в один символ, а по разделителям..пробел там или другой какой..
#8 by Merlin2006
а как тогда заменить такую строку в 1С select [Спр.Наименование] from [Справочник.Материалы] если мы это введем в текстовый файл то получится select Спр1.DESCR from sc98 а мне допустим надо будет заменить sc98 на sc97 и в Таблицы замены у меня есть sc98->sc97
#9 by McNamara
читайте из строки слова и заменяйте сколько душе угодна..проблема в чем так и не пойму
#10 by Merlin2006
мама или мама1 папа1 или папа и теперь что с этим делать не совсем понятно Вот в этом то вся и проблема
#11 by RK
мама1 на папа менять надо сразу...
#12 by Merlin2006
если менять сразу то вообще плохо получается а точнее мама или мама папа или папа
#13 by RK
внимательнее прочитай.
#14 by Merlin2006
Я никак не пойму где ошибка?!
#15 by RK
мама на мама1 папа на папа1 мама1 на папа папа1 на мама
#16 by Merlin2006
Запутался окончательно (туплю жарко оч!)
#17 by Merlin2006
ап
#19 by Ангел-Хоронитель
то ли я тупой... но никак не могу понять проблему....
#20 by Merlin2006
Спасибо всем получилось!
#21 by insider
+1 ПолучаемаяСтрока=СтрЗаменить(СтрЗаменить(СтрЗаменить(ПолучаемаяСтрока,"мама","папа#"),"папа","мама"),"#","")
#22 by insider
+21 точнее вот так:
#23 by RK
Сам пробовал?
#24 by insider
неа, лениво было, а что?
#25 by RK
Не взлетит. Будут одни мамы:)
#26 by insider
так там же пробел добавил, чтоб было каждой твари по паре :) ("папа ")
#27 by RK
он один фиг всех пап на мам поменяет и всё:) без 4-х СтрЗаменить не получится.
#28 by insider
(в точности, как у автора строка): Что я делаю не так? :) P.S. предыдущий вариант для строки вида "папа мама ", вообщем чтоб слово пробелом оканчивалось
#29 by RK
А если "мама и папа" или "'мама' - 'папа'"? в глянь, зачем ему это...:) Так что 4! СтрЗаменить.
#30 by insider
все, я понял, о чем ты, тогда так:
#31 by insider
все  равно 3(три) СтрЗаменить :))
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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