![]() |
одновремменная замена нескольких рег. выражений
для замены в строке можно использовать String.replace(pattern,repl), где pattern может быть строкой или рег. выражением, а repl - строкой или функцией. можно ли за один проход replace сделать несколько замен? в php pattern может быть массивом. есть ли какое-нить решение для as3?
|
Нет, учитесь писать нормальные регекспы, чтобы не надо было делать в несколько заходов - то, что есть в PHP - бред сивого мерина.
|
Плохо, что не умею пользоваться. Извените.
Как обработать строку: "Коля потратил %coins% на %apples% яблок"? |
присоединяюсь к вопросу.
|
Вот первое, что пришло на ночь глядя:)
Код AS3:
|
Вариант номер раз, самый простой и удобный:
Код AS3:
Код AS3:
|
wvxvw, первый вариант мне показался слишком громоздким. проще 2 раза вызвать replace. вопрос по второму варианту. как обработать строку
Код AS3:
|
передаем в этот метод параметр:
Код AS3:
Делаем регулярку... Нафиг регулярку, делаем просто: Код AS3:
Код AS3:
|
expl:
Если извесно, что есть всего 2 переменные, которые надо заменить, и что они всегда идут в одинаковом порядке - то мой второй вариант будет ну, если не быстрее, то по крайней мере раза в 3 короче. :) В то время как первый вариант заменит подстроки в любой последовательности и любом количестве. loover: Проще, но однозначно в 2 раза дольше. Почему вариант в две с половиной строчки вам кажется громоздким - мне, наверное не понять :) Ваш вопрос "по второму варианту" откровенно поставил меня в тупик - а что же тогда делат код приведенный выше? :) |
2 expl, ну и придумал) У меня как раз диплом по защите программ, включу в обфускацию)
2 wvxvw: функция реально громоздкая – вот вариант в одну строчку: Код AS3:
|
wvxvw, просто я убрал "%" ) а какую роль играет этот знак?
|
Никакой, просто тридцать седьмой знак в таблице ASCII.
|
Ой. Я в строке допустил ошибку - Коля потратил %coins% монет на %apples% яблок. После чего ее 5 раз повторили.
wvxvw, спасибо. |
| Часовой пояс GMT +4, время: 06:10. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.