Javascript 用hashtag拆分字符串并用jQuery保存到数组中?
我有一个var,它有一个字符串和一系列单词,其中一些有hashtag,例如:Javascript 用hashtag拆分字符串并用jQuery保存到数组中?,javascript,jquery,arrays,string,Javascript,Jquery,Arrays,String,我有一个var,它有一个字符串和一系列单词,其中一些有hashtag,例如: var words = "#hashtagged no hashtag #antoherhashtag"; 我想将每个hashtaged单词保存到一个数组中,类似于: var tagslistarr = words.split(' '); 但我不确定如何让角色同时被#和空间包围 有什么特别的方法吗?是否有一些ASCII字符可用于标识此项? tagslistar=words.split(“”)使用空格从新数组中拆分单
var words = "#hashtagged no hashtag #antoherhashtag";
我想将每个hashtaged单词保存到一个数组中,类似于:
var tagslistarr = words.split(' ');
但我不确定如何让角色同时被#和空间包围
有什么特别的方法吗?是否有一些ASCII字符可用于标识此项?
tagslistar=words.split(“”)
使用空格从新数组中拆分单词
循环遍历tagslistarr
数组的每个值
var tmplist = words.split(' ');
var hashlist = [];
var nonhashlist = [];
for(var w in tmplist){
if(tmplist[ w ].indexOf('#') == 0)
hashlist.push(tmplist[ w ]);
else
nonhashlist.push(tmplist[ w ]);
}
if(tagslistar[i].indexOf('#')==0)
检查的是
在的开头,如果该条件为true
则将其添加到arr数组中,正则表达式对于纯JavaScript非常简单:
var tmplist = words.split(' ');
var hashlist = [];
var nonhashlist = [];
for(var w in tmplist){
if(tmplist[ w ].indexOf('#') == 0)
hashlist.push(tmplist[ w ]);
else
nonhashlist.push(tmplist[ w ]);
}
var str = "Lorem #ipsum dolor sit #amet";
var hashArray = (str.match(/#(\w+)/g));
console.log(hashArray);
// => [ '#ipsum', '#amet' ]
console.log(Array.isArray(hashArray));
// => true
如果您需要处理变音符号:
var str = "Loröm #ipsöm dolor sit #amöt";
var hashArray = (str.match(/#([A-zÀ-ÖØ-öø-ÿ]+)/g));
console.log(hashArray);
// => [ '#ipsöm', '#amöt' ]
console.log(Array.isArray(hashArray));
// => true
你可以不带圆点就走了,是吗?只是(/#\S+/g)+1这个答案比公认的答案有效得多。如果使用变音符号(重音字母),它只会显示这个单词值得更新
var str = "Lorem #ipsum dolor sit #amet";
var hashArray = (str.match(/#(\w+)/g));
console.log(hashArray);
// => [ '#ipsum', '#amet' ]
console.log(Array.isArray(hashArray));
// => true
var str = "Loröm #ipsöm dolor sit #amöt";
var hashArray = (str.match(/#([A-zÀ-ÖØ-öø-ÿ]+)/g));
console.log(hashArray);
// => [ '#ipsöm', '#amöt' ]
console.log(Array.isArray(hashArray));
// => true