JavaScript字符串分隔符

时间:2017-01-20 09:42:38

标签: javascript regex string replace

伙计我有以下代码删除一些分隔符之前和之后的空格,并在另一个分隔符(,)之后插入一个分隔符。我想添加第三个分隔符(\ n新行),当代码找到分隔符时插入一个新行。

 var newSeparators = /\s*([.!:?])\s*|\s*(,)\s*/g;
    textToTransform = textToTransform.replace(newSeparators, function($0, $1, $2) {
      return $2 ?  $2 + " " :  $1 ;
    });

1 个答案:

答案 0 :(得分:0)

由于\s模式匹配任何空格,因此它也匹配换行符。您需要从\n中排除\s。一种简单的方法是使用反向否定字符类[^\S],并在那里添加例外 - [^\S\n]

使用

/[^\S\n]*([.!:?])[^\S\n]*|[^\S\n]*(,)[^\S\n]*/g