JavaScript字符串分隔符
伙计们,我有以下代码,删除一些分隔符前后的空格,并在另一个分隔符(,)后插入分隔符。我想添加第三个分隔符(\n新行),并在代码找到分隔符时插入新行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 ; })
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