Javascript.RU

 
 
Опции темы
 
Старый 04.11.2011, 09:58
Интересующийся
Отправить личное сообщение для vanicon Посмотреть профиль Найти все сообщения от vanicon
 
Регистрация: 17.01.2010
Сообщений: 15

Вывести текст от определенного символа до пробела
Есть текст такого типа:
Код:
Связывает функцию с @событием mouseout для каждого элемента набора.
Событие @mouseout обычно вызывается, когда указатель мыши выходит
 за пределы элемента.
И мне нужно вытянуть из этого текста слова, которые начинаются с символа @ и заканчиваются пробелом.
То есть из приведенного выше текста должно получиться два слова:
@событием и @mouseout, еще желательно загнать полученные сова в массив, чтобы было удобнее его потом обрабатывать.
 
Старый 04.11.2011, 10:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,304

Сообщение от vanicon
из приведенного выше текста должно получиться два слова:
@событием и @mouseout
Да простят меня знатоки регулярок... Предложу такой вариант

var val='Связывает функцию с @событием mouseout для каждого элемента набора. Событие @mouseout обычно вызывается, когда указатель мыши выходит за пределы элемента.'
var a=val.match(/(@\W*\s)|(@\w*\s)/g)
alert(a.join())
 
Старый 04.11.2011, 11:52
Интересующийся
Отправить личное сообщение для vanicon Посмотреть профиль Найти все сообщения от vanicon
 
Регистрация: 17.01.2010
Сообщений: 15

Все прекрасно работает, кроме одного если @ поставить перед элемента набора, то есть текст уже будет иметь такой вид:
Связывает функцию с событием mouseout для каждого @элемента набора. Событие mouseout обычно вызывается, когда указатель мыши выходит за пределы элемента.
 
Старый 04.11.2011, 12:21
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

М?

str="Связывает функцию с событием mouseout для каждого @элемента набора. Событие mouseout обычно вызывается, когда указатель мыши выходит за пределы элемента."
arr= str.match(/@\S*/g);
alert(arr)
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
 
Старый 04.11.2011, 15:52
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,304

Сообщение от vanicon
Все прекрасно работает, кроме одного если @ поставить перед элемента набора
Ты бы хоть пример мой использовал для того, чтобы показать что тебя не устраивает... Поскольку я из твоего "объяснения" ничего не понял.
 
Старый 04.11.2011, 15:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,304

Сообщение от trikadin
М?
Конечно так лучше...
 
Старый 04.11.2011, 17:21
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

берёт от символа собаки до символа, не входящего в английский или русской алфавит.

пробел, перевод строки, дефис, цифра...
var str = 'Связывает функцию с @событием mouseout для каждого элемента набора. Событие @mouseout обычно вызывается, когда указатель мыши выходит за пределы элемента.';

var matches = str.match(/@[\wа-я]+/gi);

alert(matches);




Сообщение от trikadin Посмотреть сообщение
/@\S*/g;
от собаки до любого символа, кроме пробела, которого может и не быть?

str=" lol @ ...";
arr= str.match(/@\S*/g);
alert(arr)

Последний раз редактировалось melky, 04.11.2011 в 17:27.
 
Старый 04.11.2011, 17:42
Интересующийся
Отправить личное сообщение для vanicon Посмотреть профиль Найти все сообщения от vanicon
 
Регистрация: 17.01.2010
Сообщений: 15

Всем спасибо за скорую помощь, в решении моей проблемы, вариант trikadin как раз то что нужно, та как между собакой и словом пробела не будет...
 
Старый 04.11.2011, 22:32
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от melky
от собаки до любого символа, кроме пробела, которого может и не быть?
Не совсем правильно понял... Оно хавает все непробельные символы, начиная от собаки.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
 

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
Выравнять три дива в одной строке debugx (X)HTML/CSS 9 06.10.2011 11:03
Вопрос: И опять про offsetLeft... sigurd Общие вопросы Javascript 11 04.10.2010 13:06
lastChild работает в IE, как тут быть? Puaris83 Firefox/Mozilla 4 17.04.2010 22:56
Вопрос по относительному позиционированию DIV XPOMOB (X)HTML/CSS 11 15.07.2009 16:02