我有一个可能包含Twitter主题标签的字符串。我想把它从字符串中删除。我该怎么做?我正在尝试使用RegExp类但它似乎不起作用。我做错了什么?
这是我的代码:
var regexp = new RegExp('\b#\w\w+');
postText = postText.replace(regexp, '');
答案 0 :(得分:13)
这里你去:
postText = 'this is a #test of #hashtags';
var regexp = new RegExp('#([^\\s]*)','g');
postText = postText.replace(regexp, 'REPLACED');
这使用'g'属性,这意味着'找到所有匹配',而不是在第一次出现时停止。
答案 1 :(得分:6)
你可以写:
// 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 :(得分:2)
此?
postText = "this is a #bla and a #bla plus#bla"
var regexp = /\#\w\w+\s?/g
postText = postText.replace(regexp, '');
console.log(postText)