【问题标题】:parse string with many spaces in javascript在javascript中解析带有很多空格的字符串
【发布时间】:2015-01-22 09:10:14
【问题描述】:

我有一个像"Azarenke V. Su Simple 90" 这样的字符串,我需要拆分它并将所有单词放入数组中。 我使用此代码:

var s = "Azarenke   V.   Su   Simple 90";

var array = s.split(/(\ +)/);
console.log(JSON.stringify(array));

但结果是:

"["Azarenke","   ","V.","   ","Su","   ","Simple"," ","90"]"

一些“空”字符串在哪里只包含空格。但我不想将它们推入输出数组。我熟悉 C# 和 .net,它有 RemoveEmptyEntries 之类的东西,但在 javascript 中找不到相同的东西。如何解决这个任务?可能我需要在正则表达式中做一些注释吗?

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    尝试不使用(捕获)括号

    var s = "Azarenke   V.   Su   Simple 90";
    
    var array = s.split(/\s+/);
    console.log(JSON.stringify(array)); 
    // Output:  ["Azarenke","V.","Su","Simple","90"]
    

    【讨论】:

      【解决方案2】:

      只需删除捕获组。捕获组将保持分隔符。也就是说,它根据分隔符拆分输入,并在最后打印出分隔符。

      > var s = "Azarenke   V.   Su   Simple 90";
      undefined
      > s.split(/\s+/);
      [ 'Azarenke',
        'V.',
        'Su',
        'Simple',
        '90' ]
      

      【讨论】:

        【解决方案3】:

        你可以先用单个空格替换多个空格,使用:

        `Azarenke   V.   Su   Simple 90`.replace(/ +(?= )/g,'');
        

        然后你可以用空格分割。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-04-07
          • 2016-03-19
          • 1970-01-01
          • 2019-08-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多