【问题标题】:Regex to find comma followed by non-whitespace characters正则表达式查找逗号后跟非空白字符
【发布时间】:2016-06-17 16:53:10
【问题描述】:

我正在尝试使用 JS split() 函数来拆分后跟非空格的逗号,同时忽略后面带有任何空格的逗号。

例如字符串“一,二,三”,根本不应该被分割,而“一,二,三”应该被分割成:

  • 一个
  • 二、三

我尝试过使用 .split(',\\S') .split(',(?=\\S)")') 和其他变体,但没有任何运气让它按照我想要的方式拆分。

【问题讨论】:

  • 你的问题是模棱两可的:如果逗号后面没有空格但也没有被非空格包围的“一,二”呢?
  • @le_m 你是对的,但我实际上只关心逗号后面的字符。我将问题编辑得更清楚

标签: javascript regex string split


【解决方案1】:

与正则表达式一起使用

str.split(/,(?=\S)/)

或解析正则表达式字符串进行转换

str.split(new RegExp(',(?=\\S)'))

var str = 'a,b,c, d,e, f';

console.log(
  str.split(/,(?=\S)/)
);
console.log(
  str.split(new RegExp(',(?=\\S)'))
);

【讨论】:

    【解决方案2】:

    我得到了它的工作。

    let s = 'one,two, three';
    s.replace(', ', '|').split(',').map(x => x.replace('|', ', '));
    

    用适合你的东西替换管道。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-12
      • 2014-02-05
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      • 2018-04-06
      • 1970-01-01
      相关资源
      最近更新 更多