删除JS字符串中连续的竖条

Remove consecutive vertical bar in JS string

本文关键字:连续 JS 字符串 删除      更新时间:2023-09-26

是否有一个很好的RegExp用于从字符串替换2个或多个竖条字符("| |")到一个竖条("|")?我使用AngularJS 1.5.7。美元的范围。outputValue是一个数组,我正在转换为字符串,并实现2个不同的regexp之后:

$scope.outputValue   =     $scope.outputValue.toString();
$scope.outputValue   =     $scope.outputValue.replace(/,/g, "|");
$scope.outputValue   =     $scope.outputValue.replace(/['s,]+/g, ' ');

问题是,根据用户在文本区域内的输入,我的数组给出了类似的结果,如以下(复制垂直管道栏分隔符):

$scope.outputValue = ["one" | "two" | "three" ||| "four" || "five" ];

应该是这样的

$scope.outputValue = ["one" | "two" | "three" | "four" | "five" ];

谢谢,Nenad

使用+量词。把它读成"一个或多个"。它非常适合匹配和缩减序列,例如压缩多个空格,您经常会看到这样的内容:

console.log('foo|bar||baz|||quux||||norf|||||'.replace(/'|+/g, '|'))