Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Регулярное выражение для знаков пунктуации (http://www.flasher.ru/forum/showthread.php?t=206488)

xpymbl4 06.02.2014 23:00

Регулярное выражение для знаков пунктуации
 
Уважаемые профессионалы, вы наверняка писали регулярку или итерации с charCodeAt
для распознования - содержит ли строка знаки пунктуации.
Будет ли это работать для спец. символов разных языков, таких как:
èäßÅÄѸç³à°öyª³µÉü£ù°ª¿¨Ñ и т.д.
Поделитесь пожалуйста.

bav 07.02.2014 00:05

Судя по всему регулярки в AS3 не поддерживают ни [\p{P}\p{S}], ни \p{Punct}, ни [: punct:] (как убрать смайлик при написании двоеточия и 'p'?), поэтому придется брать в лоб:
Код:

/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]/
Взято отсюда. Не очень понятно, что вы имеете в виду под "будет ли это работать для спец. символов...". Подразумевается, что в приведенной строке нет пунктуации, или есть? Еще на том же сайте про Unicode написано.

Добавлено через 1 час 51 минуту
Вот еще интереснейший PDF под заглавием 'General Punctuation Range: 2000–206F'. Так как в AS3 по-умолчанию используется Unicode, то, думаю, с распознанием даже весьма экзотических знаков препинания проблем возникнуть не должно. Я правда сам не пробовал добавлять их в описанный выше класс, это, как говорится, up to you :)

xpymbl4 07.02.2014 03:25

Огромное спасибо. Так и поступлю - просто перечислю символы: "!:,.&* и т.д...."
По поводу спец символов - я имел в виду следующее:
я должен убирать из строки знаки пунктуации, и в тоже время оставлять символы, являющиеся буквами алфавита.
Например, исходная строка: "höyry, häntä"
конечная строка: "höyry häntä"
Спасибо.

Добавлено через 8 часов 4 минуты
Если кому интересно, решение по табличке:
http://bignosebird.com/ascii.shtml
Код AS3:

var cc:Number = s.charCodeAt();
if ((cc >= 65 && cc <= 90) ||
(cc >= 97 && cc <= 122) ||
(cc >= 192 && cc <= 254)) {
}

Спасибо, тема закрыта.


Часовой пояс GMT +4, время: 08:13.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.