![]() |
Split строки по шаблону
доброе утро всем,
какой шаблон использовать чтобы разбить строку по точкам и запятым? Например: "Вы можете выбрать иконку, характеризующую сообщение. Разделяйте теги запятыми." Результат: "Вы можете выбрать иконку,", "характеризующую сообщение.", "Разделяйте теги запятыми." пробовал split({.,}) не работает :\ |
Решение "в лоб":
Код AS1/AS2:
Интересны были бы более оптимальные варианты, если кто-то даст. |
Кстати не слишком тривиальная задачка. Можно слегка сделать более общее решение разве что.
Код AS1/AS2:
|
На AS 3.0 есть метод replace для строки, а в as 2.0 - чтобы не писать кучу джоинов -
завести метод: Код AS3:
|
Мункар, это решение не "в лоб", а "в печень" =)
Даже если через split/join, то зачем же после ввода собственного спецсимвола вводить еще один, а потом менять его на что-то и еще раз на что-то. А вобще - нужно юзать регекспы. Они не сложные, правда-правда. Банально: Код AS3:
Код AS3:
Код:
0 :''Код AS3:
Код:
0 :'Вы можете выбрать иконку' |
crazyone
решение ищется именно для AS2.0 |
Olesolo, как вам мое решение?
dark256, у тебя условия задачки не выполнены, не сохраняются точки и запятые, они просто вырезаются, это как раз тривиально. Цитата:
Я же указал все в комментариях, что там для чего делается. 1. Первый спецсимовл в моем решении возникает на месте последовательностей "запятая-пробел" и на месте "запятая", при этом образуется последовательность "запятая-спецсимвол-№1". 2. Второй спецсимовл появляется на месте последовательностей "точка-пробел" и на месте "точка", при этом образуется последовательность "точка-спецсимвол-№2". Причем использовать тот же спецсимвол, что и в п.1 нельзя, поскольку предстоит еще обратная замена на точку, то есть точка-спецсимвол-№2 будут именно в месте второго спецсимовла. 3. И на третьем этапе идет подготовка на разбиение в массив, для этого спецсимвол №2 теперь уже можно заменить на спецсимвол №1, унифицировав разметку для разбиения, поскольку точки уже встали на свои места. И сделать наконец split. Про регулярки я знал, но не силен в них. |
Да, в AS2 с этим грустнее. Недосмотрел расположение темы.
Мункар, я говорил о том, что если сделать вот так, результат не поменяется, а сплит-джойнов будет меньше: Код AS1/AS2:
|
Ага, результат такой же, я тоже так собирался, только почему-то логика замен не получалась.
|
| Часовой пояс GMT +4, время: 16:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.