Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript字符串分隔符_Javascript_Regex_String_Replace - Fatal编程技术网

JavaScript字符串分隔符

JavaScript字符串分隔符,javascript,regex,string,replace,Javascript,Regex,String,Replace,伙计们,我有以下代码,删除一些分隔符前后的空格,并在另一个分隔符(,)后插入分隔符。我想添加第三个分隔符(\n新行),并在代码找到分隔符时插入新行 var newSeparators = /\s*([.!:?])\s*|\s*(,)\s*/g; textToTransform = textToTransform.replace(newSeparators, function($0, $1, $2) { return $2 ? $2 + " " : $1 ; })

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

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

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

使用


它有用吗?你有一些数据要测试吗?想要的结果呢?问题是什么?是的,它起作用了我说我想给'newSeparators'变量添加一个新的分隔符(分隔符),当它找到这个分隔符时,在文本中放一个新行。问题是这段代码在$2之后删除了我的新行。你可以举一个
textToTransform
的例子吗,
\s
匹配换行符。你似乎想避免这样,对吧?将
\s
替换为
[^\s\n]
。是否将所有\s替换为[^\s\n]?
/[^\S\n]*([.!:?])[^\S\n]*|[^\S\n]*(,)[^\S\n]*/g