我想知道如何将长字符串拆分为单词数组。 我想忽略/删除所有非alphabethic字符。
例如: 如果我有下一个字符串:“免费游戏@在某个地方,请访问我们。不想错过吗?,然后继续&访问我们@ somewhere-to-download-from。”
我希望将它拆分为: “免费,游戏,地方,参观,我们不这样做,要,要,小姐,出来吧,走,向前,参观,我们的地方,到上,下,负载,从”
最后,我将得到一个数组大小为20,在每个单元格上它包含上面的一个单词。
答案 0 :(得分:2)
尝试:
var chk = str.split(/[^a-z']+/i);
console.log(chk);
答案 1 :(得分:1)
将Javascript split
函数与正则表达式一起使用。例如:
var str = "free games @ somewhere, visit us. don't want to miss out?, then go ahead & visit us @ somewhere-to-download-from.";
alert(str.split(/[^a-z]+/i));
答案 2 :(得分:0)
这应该有效:
str = "free games @ somewhere, visit us. don't want to miss out?, then go ahead & visit us @ somewhere-to-download-from.";
str = str.replace(/[^a-z]/gi," ").replace(/ {1,}/g," ").split(" ");
document.write(str);
答案 3 :(得分:0)
function specialSplit(str){
var reqArray = new Array();
var len = str.length;
var tempStr = "";
for(var i=0;i<len;i++){
if(str[i].search(/[a-zA-Z']/)==0){
tempStr = tempStr + str[i];
}
else if(tempStr.length > 0){
reqArray.push(tempStr);
tempStr = "";
}
}
return reqArray;
}