Имя: Пароль:
1C
1С v8
Замена слова в тексте
0 selestos
 
15.10.13
11:32
Стр = Найти(Текст2,"Если");
            Стр2 = СтрДлина("Если");
            Обрезка2 = Сред(Текст2,Стр,Стр2);
            Замена = СтрЗаменить(Текст2, Обрезка2, "If");
        
            Сообщить(Замена);

Проблема вот в чем
К примеру у меня есть два слова: "Если" и "КонецЕсли" , результат получается такой "If" и "КонецIf"  а нужно чтоб она мне заменяла только слово "Если"
как реализовать это я не знаю, кто знает у кого какие идеей?
1 bborisko
 
15.10.13
11:33
Заменяй "Если " на "IF "
2 bborisko
 
15.10.13
11:34
Верней " Если" ..
3 Cube
 
15.10.13
11:36
(0) МояСтрока = СтрЗаменить(МояСтрока, "КонецЕсли", "ьватиповарилдыоа");
МояСтрока = СтрЗаменить(МояСтрока, "Если", "If");
МояСтрока = СтрЗаменить(МояСтрока, "ьватиповарилдыоа", "КонецЕсли");
4 le_
 
15.10.13
11:36
СтрЗаменить("Если", "If");
СтрЗаменить("КонецIf", "КонецЕсли");
5 selestos
 
15.10.13
11:36
что о этого изменится "IF" И "КонецIF"-в результате получится
а нужно "IF" И "КонецЕсли" - то есть чтоб второго слова не вовсе не трогало
6 selestos
 
15.10.13
11:39
а можно как-то сделать чтоб оно понимало что "Если" и "КонецЕсли" два разных слова? (3)
7 hhhh
 
15.10.13
11:41
(6) ну читайте (1), (2), (3), (4). Там решение.
8 Cube
 
15.10.13
11:41
(6) Нет.
9 palpetrovich
 
15.10.13
11:43
(0) автор что, из делфей в 1цэ? :)
зы: не нужно этого делать, подумай о тех кто прийдет после тебя
10 selestos
 
15.10.13
11:47
ребят для вас же пишу обработку для перевода кода конфы на англ язык)))))
а то кто сталкивался с Translator 2.0- должен знать что это полный бред
11 palpetrovich
 
15.10.13
11:48
кста, если-уж очень хочется - решение-то на поверхности, сначала меняй КонецЕсли, потом Если
12 selestos
 
15.10.13
11:52
идея состоит в том что словарь заполняется постепенно, поэтому ввести учет что первое переводить перебирая в цикле словарик будет сложновато учитывая что словарь будет не маленький (11)
13 Cube
 
15.10.13
11:53
(10) "ребят для вас же пишу обработку для перевода кода конфы на англ язык"
Мухахахах))) Я такой код даже читать не буду, елси увиже, не то что сопровождать... Бедные твои клиенты.
14 Леопольд Роскошный
 
15.10.13
11:55
(10) зачем ??
15 selestos
 
15.10.13
11:56
ну да, а вот ка идея реализована такие как ты обычно письмами больше всего и заваливают на рабочей почте
взять к примеру твою идею
(0) МояСтрока = СтрЗаменить(МояСтрока, "КонецЕсли", "ьватиповарилдыоа");
МояСтрока = СтрЗаменить(МояСтрока, "Если", "If");
МояСтрока = СтрЗаменить(МояСтрока, "ьватиповарилдыоа", "КонецЕсли");

ты себе представляешь сколько кода громоздить понадобится? (13)
16 ДенисЧ
 
15.10.13
11:57
Правильно это делать не заменой строк, а разборкой синтаксиса и переформированием текст...
17 selestos
 
15.10.13
11:58
не знаю как твои клиенты но вот прогеры которые заглядывают в твой год наверняка хотят тебя закопать)))))) (13)
18 hhhh
 
15.10.13
11:58
(15) вам надо написать парсер, который разбивает весь текст на слова.
19 selestos
 
15.10.13
11:59
что - то интересное в этом есть, можно чуток по подробнее? (16) (18)
20 Cube
 
15.10.13
12:01
(15) (17) Ты что-то на своей волне, я смотрю))) Пиши-пиши свою убивцу 1С, сколько вас таких уже полегло под колесами бронепоезда... :)
21 hhhh
 
15.10.13
12:03
(19) сначала разбиваете текст на слова, потом уже делаете замены.
22 ДенисЧ
 
15.10.13
12:03
(19) Теорию построения компиляторов поучи...
23 selestos
 
15.10.13
12:05
спасибо дело говоришь, помогло (21)
24 Зойч
 
15.10.13
12:07
(23) за 2 мин подучил теорию компиляторов? Голова
25 selestos
 
15.10.13
12:07
нелегка и неказиста жизнь простого программиста))))
узко мыслишь и заметь ни одной идей не выссказал(20)
26 GRAF_84
 
15.10.13
12:11
используй регулярные выражения
27 GRAF_84
 
15.10.13
12:12
28 Cube
 
15.10.13
12:12
(25) Смысл помогать быдлокодить? :)
Программирование на великом могучем имеет свои неоспоримые плюсы.
29 selestos
 
15.10.13
12:16
спасибо, тоже понадобится (27)