VSCode で「複数行を1行にまとめたい」「カンマ区切りを1行ずつに分けたい」「空行を全部消したい」といった編集は、置換(Ctrl + H)の正規表現モードで改行を \n と書くことで一度に片付きます。ただし、正規表現モードを入れ忘れる、Windows の改行だからと \r\n と書く、の2点でつまずきやすく、どちらも「何も起きない」か「おかしな文字が入る」だけでエラーは出ません。この記事では、よく使う3つの置換と、つまずく2点を実測の結果とあわせてまとめます。

確認は vscode.dev(ブラウザ版の VS Code)で、改行コードが CRLF のファイルを使って行いました(2026年9月)。デスクトップ版と同じエディタ部品ですが、手元のデスクトップ版では確認していません。
1. 置換パネルを開いて正規表現モードにする
Ctrl + Hで置換パネルを開く(macOS は公式のショートカット一覧では⌥⌘F。本記事では未確認)- 検索欄の右にある
.*を押して、正規表現モードをオンにする(Alt + Rでも切り替わる) - 検索欄と置換欄に入力し、「すべて置換」を押す(
Ctrl + Alt + Enter)
.* がオンになると、アイコンに色が付いて強調表示されます。改行を扱う置換は、すべてこのモードが前提です。
よく使う置換は次の3つです。
| やりたいこと | 検索 | 置換 |
|---|---|---|
| 改行をカンマにして1行にまとめる | \n | , |
| カンマを改行にして1行ずつに分ける | , | \n |
| 空行(空白だけの行も含む)を消す | ^\s*\n | (空のまま) |
2. 改行を別の文字に置換する
複数行に分かれた値を、カンマ区切りの1行にまとめる例です。SQL の IN 句に並べたい、表計算ソフトにまとめて貼りたい、といった場面で使います。
line 1
line 2
line 3
line 4
検索に \n、置換に , を入れて「すべて置換」を押すと、次のように1行になります。
line 1,line 2,line 3,line 4
検索欄の件数表示は3件で、行と行の間の改行だけが置き換わります。最終行の末尾に改行がある場合はそれもカンマになるので、末尾に , が1つ残っていたら手で消してください。
3. 文字を改行に置換する
逆に、カンマ区切りの1行を1値ずつの行に分けるときは、検索に ,、置換に \n を入れます。上の例の結果に対して実行すると、元の4行に戻りました。
ここで正規表現モードがオフのままだと、置換欄の \n は改行として扱われず、\n という2文字がそのまま入ります。
line 1\nline 2\nline 3\nline 4
エラーは出ず、置換自体は成功したように見えるので気づきにくい点です。こうなったら Ctrl + Z で戻し、.* をオンにしてからやり直します。
4. 空行をまとめて削除する
4.1 ^\s*\n を空に置換する
空行を消すときは、検索に ^\s*\n、置換欄は空のままにします。「行頭から空白(スペース・タブ)だけが続いて改行で終わる行」を丸ごと消すという意味です。
次の8行(7行目はスペースだけの行)で試しました。
line 1
line 2
line 3
line 4
検索欄の件数は3件で、「すべて置換」のあとは次の4行だけが残りました。
line 1
line 2
line 3
line 4
連続した空行も1回でまとめて消え、見た目では気づきにくいスペースだけの行も消えています。
4.2 \n\n を \n に置換する方法では残る
「改行が2つ続く所を1つにする」という考え方で、検索 \n\n・置換 \n とする方法もよく見かけます。以前この記事でもこの方法を紹介していましたが、同じ8行で試すと次の結果になりました。
line 1
line 2
line 3
line 4
空行が2行続いていた所には1行残り、スペースだけの行も消えません。一度に置き換わるのは重ならない \n\n の組だけなので、連続する空行は何度か実行しないと消えきりません。確実に消すなら 4.1 の書き方を使います。
5. CRLF のファイルでも \n と書く
Windows で作ったファイルは改行コードが CRLF(\r\n)なので、検索も \r\n と書きたくなります。ところが CRLF のファイル(8行)で実測すると、結果は次のとおりでした。
| 検索(正規表現モード) | 件数 |
|---|---|
\n | 7件(行と行の間の改行すべて) |
\r\n | 0件 |
\r | 0件 |
VSCode の検索では、CRLF の改行も \n で一致しました。CRLF のファイルでも改行は \n と書きます。以前この記事では「Windows 形式の改行なら \r\n\r\n を検索する」と書いていましたが、実測ではヒットしなかったので改めました。
改行コードそのものを CRLF から LF に変えたいときは、置換ではなく、画面右下のステータスバーにある CRLF をクリックし、表示された LF を選びます。
6. まとめ
- 改行を扱う置換は、
.*(正規表現モード)をオンにしてから行う。オフだと\nが文字のまま入る - 改行の置換は、検索
\n→ 置換,、その逆は検索,→ 置換\n - 空行の一括削除は、検索
^\s*\nを空に置換する。\n\n→\nでは消え残る - CRLF のファイルでも
\nと書く。\r\nは0件になる
置換は Ctrl + Z で1回で戻せます。まずは小さなファイルで件数表示を確認してから、「すべて置換」を実行しましょう。


コメント