質問: 文字列の置換 お世話になります。 このような文字列置換可能でしょうか ' | (・・・' ・・・は、任意の文字列 を ' (・・・' と、いうようにです。 つまり、文字列の中に'| 'と、'('が有ったら、 '| 'のみを取り除いた文字列を作成する と、いうことです。 そして、文字列中に同様なパターンが複数回有れば、同時に全てを同様に処理したいのですが。 よろしくお願いいたします。
回答: 一対一対応のみ置換するパターンだとこんな風になります。 // 左側を優先して削除 var str = ' | aaa| (yyy'; str = str.replace(/\| (.+?\()/g, "$1"); alert(str); // 右側を優先して削除 var str = ' | aaa| (yyy'; str = str.replace(/\| ((?:(?!\| ).)+?\()/g, "$1"); alert(str); 優先順位の違いに応じて二パターン作りましたが、たぶん質問者さんが望んでいるのは後者の方かと思います。 ちょっと正規表現が複雑になってしまいました。もしかしたらもっとうまいやり方があるかもしれません。