【问题标题】:Javascript split by numbers using regexJavascript 使用正则表达式按数字分割
【发布时间】:2020-11-02 02:42:22
【问题描述】:

我正在尝试提出一个可以遵循的正则表达式。 我有一个字符串

var input_string = "E100T10P200E3000T3S10";

var output=input_string.split(**Trying to find this**);

这应该给出一个所有字母按顺序重复的数组

output = ["E","T","P","E","T","S"]

【问题讨论】:

    标签: javascript regex string split


    【解决方案1】:

    见下文。 \d+ 表示一位或多位数字;如果输入字符串以数字开头或结尾,filter (x => x) 会删除可能出现在数组开头或结尾的空字符串。

    var input_string = "E100T10P200E3000T3S10";
    
    var output = input_string.split (/\d+/).filter (x => x);
    
    console.log (output);

    【讨论】:

    • 感谢 Alexander 非常早且优雅的回复,这解决了我的问题
    【解决方案2】:

    我们可以在这里尝试只匹配大写字母:

    var input_string = "E100T10P200E3000T3S10";
    var output = input_string.match(/[A-Z]/g);
    console.log(output);

    【讨论】:

      【解决方案3】:

      另一种方法是将字符串传播到数组并使用isNaN作为过滤回调

      var input_string = "E100T10P200E3000T3S10";
      
      var output = [...input_string].filter(isNaN);
      
      console.log(output);

      【讨论】:

        【解决方案4】:

        您可以使用正则表达式 replace 方法。首先用空字符串替换所有数字,然后拆分结果字符串。

        const input_string = 'E100T10P200E3000T3S10';
        const ret = input_string.replace(/\d/g, '').split('');
        console.log(ret);

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多