文字列から2つ以上の縦棒文字( "||")を1つの縦棒( "|")に置き換えるには、良いRegExpがありますか?私はAngularJS 1.5.7を使用しています。 $ scope.outputValueは、私が文字列に変換し、その後2つの異なる正規表現を実装しています配列です:JS文字列の連続する縦棒を削除する
$scope.outputValue = $scope.outputValue.toString();
$scope.outputValue = $scope.outputValue.replace(/,/g, "|");
$scope.outputValue = $scope.outputValue.replace(/[\s,]+/g, ' ');
問題は、テキストエリア内のユーザの入力に応じて、私の配列は、(このような同様の結果が得られる、ということです垂直pipebarセパレータ)複製:
$scope.outputValue = ["one" | "two" | "three" ||| "four" || "five" ];
をし、それはこのように行く必要があります、
$scope.outputValue = ["one" | "two" | "three" | "four" | "five" ];
おかげネナド
'.replace(/ \:それはあなたが頻繁にこのような何かを見ることができます複数のスペースを、退治のように、配列が一致して減少させるための素晴らしいことです) ' – Tibrogargan
BTW。 '[" one "| "two" | "three" ||| "four" || "five"] 'は有効ではありませんJavaScript – Tibrogargan
@Tibrogargan私はそれが望むことをするとは思わない。 2つ以上のパイプがあるときは余分な '|'を残します。 –