У меня есть строка, которая может содержать хэштеги Twitter. Я хотел бы снять его со строки. Как мне это сделать? Я пытаюсь использовать класс RegExp, но он не работает. Что я делаю не так?
Это мой код:
var regexp = new RegExp('\b#\w\w+');
postText = postText.replace(regexp, '');
Вот и все:
postText = 'this is a #test of #hashtags';
var regexp = new RegExp('#([^\\s]*)','g');
postText = postText.replace(regexp, 'REPLACED');
Здесь используется атрибут «g», который означает «найти ВСЕ совпадения», вместо остановки при первом появлении.
This?
postText = "this is a # bla и a #bla plus # bla "var regexp = / \ # \ w \ w + \ s? / g postText = postText.replace (regexp, ''); console.log (postText)
Вы можете написать:
// 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
Надеюсь, это поможет.