アンダースコアを削除する理由
アンダースコア(_、日本ではアンダーバーとも呼ばれます)は、スペースが使えない場所で単語をつなぐために使われます。ファイル名(my_file_name_final.docx)、データベースの列名(user_first_name)、プログラムの変数、書き出した表計算データの見出し、ハッシュタグ、昔のユーザー名などでよく見かけます。そのテキストを人が読む場面では、アンダースコアが邪魔になります。長いリストを手作業で直すのは時間がかかり、ミスも起きやすくなります。
このツールは、すべてのアンダースコアを一度に置き換えます。置き換え先はスペース、ハイフン、何もなしから選べ、連続したアンダースコアをまとめることもできます。メールアドレスや Web のリンクには手を付けないので、正しく使えるまま残ります。
使い方
- 「アンダースコアを含むテキスト」にテキストを貼り付けます。
- 「アンダースコアの置き換え先」で「スペース」「なし」「ハイフン」のいずれかを選びます。
- ___ をひとつのすき間として扱うには、「連続したアンダースコアをまとめる」をオンのままにします。
- アドレスが壊れないように、「メールアドレスとリンクを除外」をオンのままにします。
- 「スペース」を選んでいる場合は、「余分なスペースを削除」で二重のスペースや行末のスペースも整理されます。
- 「コピー」か「ダウンロード」を押します。ツールの下のメッセージに、削除したアンダースコアの数が表示されます。
対象は半角のアンダースコア「_」だけです。全角のアンダースコア「_」は置き換えられないので、日本語のファイル名で全角が使われている場合は、テキスト置換ツールで「_」を指定して置き換えてください。
変換例
以下の結果はすべてこのツールで作成したものです。2列目に記載がない限り、初期設定を使っています。
| テキスト | 設定 | 結果 |
|---|---|---|
| my_file_name_final.docx | スペース | my file name final.docx |
| Q3_sales_report_v2.xlsx | スペース | Q3 sales report v2.xlsx |
| user_first_name | スペース | user first name |
| user_first_name | なし | userfirstname |
| user_first_name | ハイフン | user-first-name |
| the__draft | スペース | the draft |
SECTION___TWO |
ハイフン、まとめるをオフ | SECTION---TWO |
| Email [email protected] about the__draft | スペース | Email [email protected] about the draft |
| see https://site.com/my_page | スペース、リンク除外をオフ | see https://site.com/my page |
仕組み
ツールはまず、Web のリンクに見える部分(http://、https://、www. で始まるもの)とメールアドレスを探し、その部分を取り分けておきます。残りのテキストでは、アンダースコアを1つずつ、または「まとめる」がオンなら連続部分ごとに、選んだ文字に置き換えます。最後に、取り分けておいた部分を元のまま戻します。
「スペース」を選んで「余分なスペースを削除」をオンにしていると、置き換えでできた二重のスペースは1つになり、各行の先頭と末尾のスペースも削除されます。「draft」のように、そのままでは前後にスペースが残ってしまうテキストで役立ちます。
ヒントと制限
- 大文字・小文字は変わりません。 user_first_name は「User First Name」ではなく「user first name」になります。あとから大文字にしたい場合は、タイトルケースやセンテンスケースなどの変換ツールを使ってください。
- 逆の変換: 単語をアンダースコアでつないだ名前にするには、スネークケース変換ツールを使います。
- アンダースコアで書いた Markdown の斜体(word など)も、アンダースコアが取れます。テキストを整理するときは、たいていそれで問題ありません。
- ほかの区切り文字(ドットやハイフンなど)は変わりません。それらには、どんな文字や単語でも置き換えられるテキスト置換ツールを使ってください。
- ほかの記号: アンダースコアとほかの記号や句読点をまとめて取り除くには、特殊文字削除ツールを使います。
ほかの方法
Word と Google ドキュメント: 置換の画面(Ctrl+H)を開き、検索する文字列に _ を、置換後の文字列にスペースを入力して、すべて置換します。メールアドレスも変わってしまうので、あとで確認してください。
Excel と Google スプレッドシート: =SUBSTITUTE(A1, "_", " ") で A1 セルのアンダースコアをすべてスペースに置き換えられます。数式を下までコピーすれば列全体を変換できます。置き換えで残った二重のスペースを整理するには、TRIM で囲みます:=TRIM(SUBSTITUTE(A1, "_", " "))。
ファイル名: Windows の PowerShell では、Get-ChildItem | Rename-Item -NewName { $_.Name -replace '_', ' ' } でファイル名を一括変更できます。Mac では Finder でファイルを選択して右クリックし、「名前を変更」からテキストの置き換えを使います。
コード: JavaScript では text.replaceAll('_', ' ') で基本的な置き換えができます。Python では text.replace('_', ' ') を使います。連続したアンダースコアをまとめるには、JavaScript なら /_+/g、Python なら re.sub(r'_+', ' ', text) のような正規表現を使います。