Как получить массив слов RegExp'ом?
Казалось бы ничего сложного.
Есть строка, приходящая по СМС. Её надо разобрать на слова. Естественно, прийти может любой набор: и разделённый точками, и запятыми, и пробелами — кто во что горазд. Я сначала сделал так: var InText = 'Некий текст, пришедший в сообщении.'; // Знаки препинания заменяются пробелами InText = InText.replace(/,.!?;:()]/g, ' '); // Двойные пробелы заменяются одинарными InText = InText.replace(/\s+/g," "); // Массив слов входящего сообщения var TextArray = InText.split(' '); Но потом завис. Скажем, «www.javascript.ru» — это одно слово или три? У меня получается три, а как надо? /\b.+\b/g и /\<.+\>/g дают при match'е и exec'е null. Не могу сообразить, как правильно собрать выражение, чтобы слова определялись не так, как я решил, а так, как они определяются javascript'ом? |
Приношу извинения за размещение темы не в том подфоруме: тупо кликнул на первую выданную гугелем тему.
|
Слова никак не определяются javascript'ом. Для языка это лишь набор бит. Дели на слова так, как считаешь нужным.
P.S. \b работает только с латиницей. |
Я этого и опасался. Спасибо.
|
Часовой пояс GMT +3, время: 15:15. |