検索が何も返さない
値は画面上で同一に見えるのに、VLOOKUP、SQLのWHERE句、重複チェックは別の文字列として扱います。「値は絶対にあるのに」バグの常連犯人です。
無料 · プライベート · 登録不要
改行しないハイフンはキーボードのハイフンと見た目が完全に同じなのに、同じように振る舞うことを拒みます。このツールはすべてを通常のハイフン・スペース・削除に変換します。
改行しないハイフン(‑、U+2011)がUnicodeに加わったのは、ただ一つの仕事のためです。行をまたいで分かれてはならないもの — 555-0134、AN-4471-B、Jean-Pierre、2-4-17 — の部分同士をつなぐこと。どのフォントでも普通のハイフンと同じに描画されるため、画面上で見分けることはできませんが、文字列を比較するすべてのプログラムにとっては別の文字です。問題の核心はそこにあります。正しく見えるのに一致しないテキスト。
データには貼り付けで紛れ込みます。Wordは Ctrl + Shift + - で挿入し、Google Docsは特殊文字に用意しています。InDesign、LaTeX、組版パイプラインは、改行が有害な箇所に自動的に出力します。そしてこれを使ったPDFやウェブページは、そのままクリップボードへ渡します。そこから表計算、サポートチケット、顧客レコードへ旅し、やがて「555-0134」の検索は何も返さないのに、画面のレコードは探した値とそっくり同じに見える、という事態になります。
このツールが置き換えるのは正確にU+2011だけなので、通常のハイフン・エンダッシュ・エムダッシュは無傷です。既定の置換先はプレーンなASCIIハイフン。機械が読むものすべてにこれが正解です。番号は電話番号として読め、列の他の値と並べ替えられ、人が打つものと一致します。ハイフンが単に2語を区切っていたならスペースを、そもそも連結されるべきでなかった部分なら「削除」を選んでください。
症状はみな同じ形です。正しく見えるのに一致しないテキスト。
値は画面上で同一に見えるのに、VLOOKUP、SQLのWHERE句、重複チェックは別の文字列として扱います。「値は絶対にあるのに」バグの常連犯人です。
U+2011はASCIIの数字や文字の後ろに並び、ハイフンとは一緒に並びません。貼り付けた識別子の群れが、隣ではなく列の底に落ちることがあります。
電話番号や郵便番号のバリデータ、古いAPI、CSVローダーはASCIIしか許さないことが多いです。フィールド内の改行しないハイフンは、目に見える原因のない無効文字です。
文字の存在意義そのものです。狭い列では、ハイフンが折り返し点になることを拒むため、長い型番がレイアウトを広げたりあふれたりします。それが欲しい動作なら、文字は残してください。
既定かつ安全な答え。ASCII、1バイト、どのシステムでも認識され、人間には電話番号やコードとして読めます。
文字が数字ではなく単語の間にあったときに使います。ハイフンでつながれたペアが、実は2語であるべきだった場合です。
文字を消して2つの部分を融合させます。スラッグ、アカウントキー、ユーザー名が望む形です。
1つのルールが貼り付け全体に適用されるので、1000行の列も1行と同じ仕事です。貼り付けて、整形された列をコピーして戻す — アップロードも行数制限もありません。
Unicodeには3種類のハイフンがあり、3つの仕事があります。テキストのものに合うページを。