Убрать хэштеги из строки используя JavaScript - PullRequest
8 голосов
/ 18 августа 2010

У меня есть строка, которая может содержать хэштеги Twitter.Я хотел бы снять его со строки.Как мне это сделать?Я пытаюсь использовать класс RegExp, но он не работает.Что я делаю не так?

Это мой код:

var regexp = new RegExp('\b#\w\w+');
postText = postText.replace(regexp, '');

Ответы [ 3 ]

13 голосов
/ 18 августа 2010

Здесь вы идете:

postText = 'this is a #test of #hashtags';
var regexp = new RegExp('#([^\\s]*)','g');
postText = postText.replace(regexp, 'REPLACED');

Здесь используется атрибут «g», который означает «найти ВСЕ совпадения» вместо остановки при первом появлении.

6 голосов
/ 18 августа 2010

Вы можете написать:

// g denotes that ALL hashags will be replaced in postText    
postText = postText.replace(/\b\#\w+/g, ''); 

Я не вижу резонанса для первого \w.Знак + используется для одного или нескольких случаев.(Или вас интересуют только хэштеги с двумя символами?)

g включает "глобальное" сопоставление.При использовании метода replace () укажите этот модификатор для замены всех совпадений, а не только первого.

Источник: http://www.regular -expressions.info / javascript.html

Надеюсь, это поможет.

2 голосов
/ 18 августа 2010

Это?

postText = "this is a #bla and a #bla plus#bla"
var regexp = /\#\w\w+\s?/g
postText = postText.replace(regexp, '');
console.log(postText)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...