ハイフンを半角に統一させるコードで前後がカタカナの文字列は除外したい。

住所をローマ字に変換する過程で住所に含む、ハイフンや長音を下記のように置き換えています。

.replace(/[--﹣−‐⁃‑‒–—﹘―⎯⏤ーー─━]/g, '-')

上記のコードだと「エルカーサ」だと「エルカ-サ」となってしまい後続のコードで「エルカ」と「サ」という別キーワードに分別されてしまいます。

前後半角どちらかが、半角数字の場合だけハイフンを置き換えるにはどのような正規表現を書けばいいのでしょうか?

javascript

const reg1 = /[^\u30A0-\u30FF]?[--﹣−‐⁃‑‒–—﹘―⎯⏤ーー─━][^\u30A0-\u30FF]?/g

これだと上手く行きませんでした。

コメントを投稿

0 コメント