从数组中删除回车 - Javascript

时间:2014-11-29 22:49:42

标签: javascript html-parsing

我有如下所示的数组:

 ["↵", "Oh", "yeah,", "did", "we", "mention", "it’s", "free?↵"]

有没有办法可以从字符串和数组中删除↵? 我试过了

str.replace(/(\r\n|\n|\r)/gm,"");

这没有帮助。

3 个答案:

答案 0 :(得分:0)

您可以使用String.prototype.trim结合Array.prototype.filter从空字符串中清除数组,以删除虚假值。例如:

var arr = ["\n", "", "Oh", "yeah,", "did", "we", "mention", "it’s", "free?\n"]

// check array before
alert(JSON.stringify(arr));

arr = arr.map(function(el) {
    return el.trim();
}).filter(Boolean);

// after cleaning up
alert(JSON.stringify(arr));

答案 1 :(得分:0)

只需将您的字符串拆分为/\s+/,然后您就不再需要执行此操作了。

var str='\nOh yeah, did we mention it’s free?\n';
var arr=str.split(/\s+/);

注意:可能希望从字符串拳头的开头和结尾剪裁\s+。 (较旧)不支持trim()的浏览器可以使用:

arr=str.replace(/^\s+|\s+$/g, '').split(/\s+/);

严格回答您的问题如何删除“回车”#39;来自数组中的字符串:

// you have:
var str= '\nOh yeah, did we mention it’s free?\n';
var arr= str.split(' ');

// no function needed, a simple loop will suffice:
for(var L=arr.length; L--; arr[L]=arr[L].replace(/[\n\r]/g, ''));

请注意(在您的示例中已经可以看作数组项0),您可能会在数组中找到一些空字符串(未定义)。

答案 2 :(得分:0)

试试这个:

function removeReturn(ary){
  var b = [], a = [];
  for(var i=0,l=ary.length; i<l; i++){
    var s = ary[i].split('');
    for(var n=0,c=s.length; n<c; n++){
      if(s[n] === '\u021B5')s[n] = '';
    }
    b.push(s.join(''));
  }
  for(var i=0,l=b.length; i<l; i++){
    var x = b[i];
    if(x !== '')a.push(x);
  }
  return a;
}