|
Как найти и заменить две кавычки в одну? Ø (Волшебник 03.06.2024 21:06) | ☑ | ||
---|---|---|---|---|
0
m982515
03.06.24
✎
15:04
|
В номенклатуре встречаются наименования обремененные двумя кавычками. Как написать СтрЗаменить(Наим, <как тут?>, """")?
|
|||
1
Волшебник
03.06.24
✎
15:05
|
СтрЗаменить(Наим, """""", """")
|
|||
2
Волшебник
03.06.24
✎
15:05
|
А чтобы заменить три кавычки на одну, надо так:
СтрЗаменить(Наим, """""""", """") |
|||
3
Волшебник
03.06.24
✎
15:05
|
А чтобы заменить четыре кавычки на одну, надо так:
СтрЗаменить(Наим, """""""""", """") |
|||
4
Волшебник
03.06.24
✎
15:06
|
Понятно? Индуцируйте!
|
|||
5
m982515
03.06.24
✎
15:24
|
(1)Изначально попробовал - не получилось... видимо опечатался... Спасибо. Понятно. :)
|
|||
6
Волшебник
03.06.24
✎
15:25
|
(5) 🔥
|
|||
7
maxab72
03.06.24
✎
16:10
|
Символ(34) = "
|
|||
8
Волшебник
03.06.24
✎
16:11
|
(7) Ещё цикл зарядите:
Для Каждого н = 1 По 2 Цикл |
|||
9
maxab72
03.06.24
✎
16:15
|
Пока Sin(н) < 4 Цикл
н = н + 1; |
|||
10
Eiffil123
03.06.24
✎
16:18
|
(9) а на множестве комплексных чисел сработает?
|
|||
11
trad
03.06.24
✎
16:25
|
Функция СократитьПовторяющиесяСимволы(Знач Стр, Символ=" ") Экспорт
Повтор = Символ + Символ; Стр = СтрЗаменить(Стр, Повтор, "@~"); Стр = СтрЗаменить(Стр, "~@", ""); Стр = СтрЗаменить(Стр, "@~", Символ); Стр = СтрЗаменить(Стр, Повтор, Символ); Возврат Стр; КонецФункции Наим = СократитьПовторяющиесяСимволы(Наим, """"); |
|||
12
maxab72
03.06.24
✎
16:38
|
(10) Ну как же в учете, да без мнимых единиц!!!
(11) А теперь написать функцию, чтоб из строки убирала разом все повторы. Типа "аааАаБббВвгГГГгдДДдд" превращала бы в "аБВгд" |
|||
13
Волшебник
03.06.24
✎
16:58
|
(12) промты писать не буду, а то вы охренеете.
Понял тебя, бро! Надо сравнивать буквы без учёта регистра, а в результат сохранять текущую букву с её исходным регистром. Вот корректный вариант:
Функция УбратьПовторяющиесяБуквы(ИсходнаяСтрока) Экспорт // Инициализация переменной для результата ИтоговаяСтрока = ""; // Инициализация предыдущей буквы ПредыдущаяБуква = ""; // Проходим по каждому символу в строке Для Сч = 1 По СтрДлина(ИсходнаяСтрока) Цикл Буква = Сред(ИсходнаяСтрока, Сч, 1); // Сравниваем текущую букву с предыдущей без учета регистра Если НРег(Буква) <> НРег(ПредыдущаяБуква) Тогда ИтоговаяСтрока = ИтоговаяСтрока + Буква; ПредыдущаяБуква = Буква; КонецЕсли; КонецЦикла; Возврат ИтоговаяСтрока; КонецФункции Пример использования: ИсходнаяСтрока = "аааАаБббВвгГГГгдДДдд"; Результат = УбратьПовторяющиесяБуквы(ИсходнаяСтрока); Сообщить(Результат); // Вывод: "аБВгд" Теперь результат будет именно таким, как нужно. Надеюсь, теперь всё чётко! |
|||
14
Ботаник Гарден Меран
03.06.24
✎
17:06
|
А как же "СтрЗаменитьПоРегулярномуВыражению", начиная с 8.3.23?
|
|||
15
Волшебник
03.06.24
✎
17:08
|
(14) Ну давай, произведи регулярку, порази нас элегантностью кода
|
|||
16
Ботаник Гарден Меран
03.06.24
✎
17:12
|
Некогда код писать, сижу и телепатю шаловливые мысли пользователей и аналитиков.
Просто вспомнилось, сколько ожиданий было, когда же появятся регулярки. Ну вот они есть. И.....горь!!!! |
|||
17
Волшебник
03.06.24
✎
17:13
|
(16) Регулярки... Не нужны они тут, больше возни
|
|||
18
PLUT
03.06.24
✎
17:17
|
(17) а этот ваш бредогенератор может эту "задачу" через "регулярки" ?
|
|||
19
Волшебник
03.06.24
✎
17:25
|
(18) А Вы можете?
![]() |
|||
20
PLUT
03.06.24
✎
17:55
|
(19) А как же составить это самое регулярное выражение?
До недавнего времени существовало 2 ответа на этот вопрос: Изучить документацию по регулярным выражениям и составить регулярку самому Попросить кого-то более опытного сделать это за вас |
|||
21
Волшебник
03.06.24
✎
18:06
|
(20) Ну так неинтересно. Это Вы предложили микроскопом забить гвоздь. Я просто хотел посмотреть, что из этого получится
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |