通过hashtag拆分字符串并使用jQuery保存到数组中?

Mel*_*Dog 8 javascript arrays string jquery

我有一个var,它有一个包含一系列单词的字符串,其中一些有标签,例如:

var words = "#hashtagged no hashtag #antoherhashtag";
Run Code Online (Sandbox Code Playgroud)

我想将每个hashtagged字保存到一个数组中,有点像:

var tagslistarr = words.split(' ');
Run Code Online (Sandbox Code Playgroud)

但我不确定如何让#和空间包围的角色.

这有什么特别的方法吗?是否有一些ASCII字符我打算用来识别这个?

小智 22

var words = "#hashtagged no hashtag #antoherhashtag";
var tagslistarr = words.match(/#\S+/g);   //["#hashtagged", "#antoherhashtag"]
Run Code Online (Sandbox Code Playgroud)

  • 你可以在没有点的情况下离开,不是吗?只是(/#\ S +/g) (3认同)

Tus*_*har 13

DEMO

var words = "#hashtagged no hashtag #antoherhashtag";
var tagslistarr = words.split(' ');
var arr=[];
$.each(tagslistarr,function(i,val){
    if(tagslistarr[i].indexOf('#') == 0){
      arr.push(tagslistarr[i]);  
    }
});
console.log(arr);
Run Code Online (Sandbox Code Playgroud)

tagslistarr = words.split(' ') 从新数组中拆分带空格的单词

$ .each()循环遍历tagslistarr数组的每个值

if(tagslistarr[i].indexOf('#') == 0)检查是#在开头的,如果这个条件是true它将它添加到arr数组中