「ハイフン」って言ってもたくさん種類があるんだよ

2020年5月12日

テクノロジー プログラミング

「*」アスタリスクと聞くと、オールマイティ感を感じる、正規表現的な脳みそになっている、ユゲタです。

本日のIT謎掛け

「ハイフン」と、かけまして、 「心拍数の安静値」と、ときます。 そのココロは・・・ ダッシュするとマイナスになっちゃうよ。

ハイフンの種類の多さにビックリ

パソコンで「-」(マイナス)キーを全角モードで押すと、変換候補がたくさんリスト表示される時に、なんだかたくさんの「-」が存在する事に気がついた人もいると思います。 入りきっていないものも合わせて書き出すと、以下のような感じ。 1. ー : 長音 2. ➖ : 絵文字 (ハイフンじゃない) 3. 〰 : [全]絵文字 (ハイフンじゃない) 4. - : [半]ハイフン マイナス 5. − : [全]ハイフン マイナス 6. 〜 : [全]波ダッシュ (ハイフンじゃない) 7. ~ : [半]波ダッシュ (ハイフンじゃない) 8. ― : [全]ダッシュ 9. ‐ : [全]ハイフン 10. ー : [全] 11. - : [半] 12. − : [全] 13. ー : [半]カタカナ macで表示しているので、見ているOSによっては、文字化けをしているものもあると思います。 中にはハイフンじゃないものもありますが、どうやら、ハイフン、ダッシュ、マイナス・・・と、名称がいくつかあることに気がつく。 もちろん文字コードも違うようだ。(コードはasciiコードと16進数) [ ー : 12540 , 0x30FC] 長音 [ - : 45 , 0x2D] [半]ハイフン マイナス [ − : 8722 , 0x2212] [全]ハイフン マイナス [ ― : 8213 , 0x2015] [全]ダッシュ [ ‐ : 8208 , 0x2010] [全]ハイフン [ ー : 12540 , 0x30FC] [全] [ - : 45 , 0x2D] [半] [ − : 8722 , 0x2212] [全] [ ー : 65392 , 0xFF70] [半]カタカナ 下方にある、[半]と[全]は、それぞれ「ハイフン、マイナス」と同じことがわかるが、それ以外はバラバラだ。 半角カタカナと半角ハイフンの違いは、mac端末で見る限り、人の目で判断できるレベルではない。

システムエンジニアが遭遇するかもしれないハイフン・トラブル

おそらく、文章などで文字入力をする場合など、半角か全角かぐらいを気にすればいいかと思いますが、 システムに登録する文字列には、気を使わなくてはいけません。 例えば、ECサイトなどで、ユーザーの郵便番号や電話番号を登録させる時に、000-0000や03-0000-0000という風に書いた時にハイフンは、 通常のエンジニアであれば、半角ハイフンであると信じて疑わないでしょうが、利用するユーザーがハイフンをどの文字コードのモノに変換してくるかは、正直不明です。 実際に、スマホサイトなどでやってみると、半角全角だけでなく、アンダースコア「_」などを入力するツワモノもいて、市外局番などに分解しようとする作業をかんがえると、なんとも、エンジニア泣かせの仕様です。

まあまあ使える正規表現サンプル

郵便番号 /([0-90-9]{3}).*?([0-90-9]{4})/ 電話番号 /([0-90-9]{2,4}).*?([0-90-9]{2,4}).*?([0-90-9]{2,4})/ javascriptのコードを使った正規表現サンプル "0ー1-2−3―4‐5ー6ー7".match(/(\u30FC).*?(\x2D).*?(\u2212).*?(\u2015).*?(\u2010).*?(\u30FC).*?(\uFF70)/) ``` 0: "ー1-2−3―4‐5ー6ー" 1: "ー" 2: "-" 3: "−" 4: "―" 5: "‐" 6: "ー" 7: "ー" ``` 無事に全部ひっかかりました。 半角文字は"x"で、全角文字は"u"を頭につけている点に注意してね。

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。