ハイフンとかマイナスとかダッシュとか

2020-03-23
%E5%B0%8F%E3%83%8D%E3%82%BF%E9%9B%91%E8%AB%87
    

目次

ソースコードを読んでいたら、既存処理にとある文字列変換処理があった。

例 (ソースはイメージです)

const convert = (arg) => {
  return arg.split('ー').join('‐')
}

いざテストをしようと思って、「—」を入力したら期待値が出なかった。

なぜならば、この処理は「ー(全角長音)」を「‐(全角ハイフン)」に変換しているので、「—(全角ダッシュ)」はスルーされるからだ。

ハイフンに似た文字

気になったので色々調べたら、少なくとも以下の文字があることがわかった。

-(全角ハイフンマイナス)
-(半角ハイフンマイナス)
‐(全角ハイフン)
−(全角マイナス)
‒(フィギュアダッシュ)
—(全角ダッシュ(emダッシュ))
–(二分ダッシュ(enダッシュ))
―(ホリゾンタルバー)
ー(全角長音)
ー(半角長音)
─(罫線)
━(罫線) 
ㅡ(ウ(ハングルの字母))
ـ(カシーダ)
⁻(上付きマイナス)
₋(下付きマイナス)
⸺(2emダッシュ)
⸻(3emダッシュ)

※これらの文字のうち 「フィギュアダッシュ」「全角ダッシュ」「二分ダッシュ」「ウ(ハングルの字母)」「カシーダ」「上付きマイナス」「下付きマイナス」「2emダッシュ」「3emダッシュ」 はサロゲートペア

参考

ダッシュ (記号) - wikipedia

ソフトハイフン - wikipedia

ハイフンと似た記号の区別が付きやすくしてほしい · Issue #6 · yuru7/HackGen

    
s-yoshiki
s-yoshiki
githubtwitterqiita
Web作ってますが、インタラクティブなプログラミングも好きです。
JavaScript / Vue / node.js / PHP / AWS / OpenCV

関連記事

少なくとも、これら説明できない奴、エンジニアとして、マジでやばいので自覚した方がいいぞ。について
元ネタ(?) 派生 最後に Twitterでネタ(?)になっていたのでメモ。 元ネタ(?) https://twitter.com/t0riumi/status/1225422385093865472 派生 https://twitter.com/eg19/status…

Qiitaでバズるとこうなる。アクセスの分析や原因考察をする
投稿した記事 アクセス分析 Qiitaでバズった原因の考察 終わりに Qiitaに数年前から投稿していますが、延3日間で「1000 いいね」をもらいました。今までの最大いいねが20…

ソースコードレビューのポイントをまとめる
ソースコードレビュー時のポイントを各所のブログから集めてまとめました。以下 https://gist.github.com/s-yoshiki/9e446d69cf388703a4711f7e69cba173

AWSソリューションアーキテクト参考資料集
ブラックベルト サービス別資料 AWS Well-Architected フレームワーク 特に目を通すべき資料の一覧です。 ブラックベルト https://aws.amazon.com/jp/aws-jp-introduction/ サービス別資料 https://aws…

AWS ソリューションアーキテクト不合格体験記を集める
AWSソリューションアーキテクトアソシエイトに1回落ちたけど勉強し直して合格した話 AWS認定ソリューションアーキテクトアソシエイト(SAA)不合格体験記 非エンジニアがAWSソリューションアーキテクトに合格するまで AWSソリューションアーキテクト認定に落ちた話 AWS…

shields.io用アイコンジェネレータを作ってみた
デモ 情報 参考 ソース shields.io用アイコンジェネレータを作ってみました。 デモ 情報 Vue + codesandboxで作ってみました。 詳しい作り方はここを参考にしてください。 参考 https://tech-blog.s-yoshiki…

shields.ioで技術系のアイコンをたくさん作ってみる
shields.ioについて カスタムバッジを作る Color カスタムスタイル simpleicons おすすめアイコンを作った 言語系 ライブラリ・フレームワーク OS ミドルウェア エディタ・IDE…

google.52ecy.topとかいうサイトからアクセスがあった
はじめに nmapしてみた whoisしてみた DNSを調べてみる はじめに このブログのアクセスログのリファラに google.52ecy.top というものがあった。 https://google.52ecy.top/ とりあえず、アクセスしてみるとgoogleのtop…

ブラウザ上でWindowsXPが動く??
紹介 エミュレータでもVMでもなく Reactによって作られたものだそうです。 完成度高ぃ demohttps://t.co/mjBg4pkgNa pic.twitter.com/s0bkHFyKHO — s-yoshiki…

カスみたいな技術ブログが1日100PVを超えてしまいました。
現時点でのブログのステータス 最近の1日あたりのアクセス数の推移 記事数は78 月間アクセス数は約1500 ブログのポリシー 些細なことを書き続ける ニッチなネタを書く 開設からここまで 思いつきで始めたようなカスみたいな技術ブログが1日100PV…

最新の投稿

SQL整形ツールを作成した
特徴 使い方 FW/ライブラリ等 nuxt sql-formatter-plus Monaco Editor おまけ ソース SQL整形ツールを作成しました。 URLはこちらです。 SQL…

ファイルの1行目を表示 Linuxコマンド head
head コマンド例 headコマンドでファイルの 1行目もしくは指定した行数だけ表示する方法。 head 利用できるオプション コマンド例 の 1行目だけを表示 の 5行目までを表示 カレントディレクトリ以下の全てのtxtファイルの1行目を表示

Amazon S3 と ローカルファイルのチェックサムの比較
s3apiでEtagを取得 検証 マルチアップロード時の注意点 Amazon S3 の Etagを使ってファイルの整合性チェックをする。 s3apiでEtagを取得 S3 APIを利用するとEtagを取得します。この値はmd5のハッシュ値になります。 検証 MD…

github.io / gitlab.ioで公開されている質の高い技術ドキュメント
AWSによるクラウド入門 Pythonプログラミング入門 普通の人が資産運用で99点をとる方法とその考え方 2018年の段階で私が知らないこと github.io / gitlab.io で無料で公開されている興味深いドキュメントのmemo AWS…

10進数から2進数 2進数から10進数への変換 JavaScript
10進数から2進数 2進数から10進数 テスト 10進数から2進数、2進数から10進数への変換を行うJavaScriptのコードの紹介。 JSの場合、10進数から2進数への変換はメソッド。2進数から1…

JavaScriptの配列ショートハンド (AtCoder用)

JavaScriptでワーシャルフロイド法を実装
AtCoder ABC012 D問題 D - バスと避けられない運命 解説 実装 AtCoder ABC012 の D問題でワーシャルフロイド法が利用できる問題が出てきたので、 JavaScriptで実装しました。 AtCoder ABC012 D問題 D…

GitHub Actions で Gatsby をビルドし Amazon S3 にデプロイする
GitHub Actions について あらかじめ準備しておくもの AWS IAM ユーザを環境変数にセットする workflowの記述 ビルド バッジを利用する 終わりに 参考にしたところ Gatsbyで作った静的サイトを、GitHub Actions…

cloudinaryによる画像ファイルの管理 はじめてみる
目的 cloudinary について 他のサービスとの比較 料金プラン アカウントの登録 利用してみる ダッシュボード 画像の編集 APIベースでのアクセス 感想 参考 画像の管理や配信、さらには加工といった事ができるsaas型のcloud…

JavaScriptによる2分探索(バイナリサーチ) のサンプルコード
2分探索について ソース 参考 JavaScriptで2分探索(バイナリサーチ)を実装してみました。…

Tags

Dates

© 2020   404 motivation not found