Visual Studioを使用してテキストの空行を削除する


回答:


174

Visual Studio 2012が正規表現構文を変更したため、Alaによる元の回答は、VS 2012では次のように変換されます。

空白行を1つ削除する

古い:

^:b*$\n

新着:

^(?([^\r\n])\s)*\r?$\r?\n

Visual Studio 2013(BozoJoeとJoe Johnstonに感謝):

^\s*$\n

二重の空白行を削除する

古い:

^:b*\n:b*\n

新着:

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

舌から離れる。

これは、MSDNの変換シートです。


13
vs2013:^ \ s + $ \ n
BozoJoe

BozoJoeの答えは、私にとって、VS2012でもうまく機能しました(Update 4)
BertuPG '28 / 10/28

5
^ \ s + $ \ nを^ \ s * $ \ nに変更すると、純粋な改行(コンテンツなし)が可能になります。
Joe Johnston

4
CTRL + K + Dでの作業など、これを自動化するにはどうすればよいですか?
ErTR

これは文字列またはエディターのコードで機能することを意図していますか?
カイルデラニー

114

コードを整理または比較する場合に特に便利です。この質問に答えてくれた人々に感謝します。ここから答えを得て、Stackoverflowと共有したいと思います。

Visual Studioには、正規表現を使用した置換操作で空の行を削除する機能があります。

  • クリックCtrl- H(クイック置換)

  • 「正規表現を使用する」にチェックを入れます

  • 検索で指定 ^$\n

  • 置換ボックスですべてを削除します。

  • 「すべて置換」をクリックします

空の行はすべて削除されます。

空行の正規表現は、

行頭 ^

行末 $

改行 \n

通常、Windowsでは2文字で示される行末 -キャリッジリターン(CR、ASCII 13、\r)ラインフィード(LF、ASCII 10、\n)。

本当に空白ではない(または空白ではない)空白行を削除するための正規表現(つまり、空白を含む/含まない): ^:b*$\n

二重線を削除するには、次のように ^:b*\n:b*\n置き換えます。\n

* Visual Studio 2013以降の場合:*

^\s*$\n

二重線の場合:

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

下記の@lennartの回答で、VS2012以降の正規表現構文の更新を参照してください


Visual Studio 2015でXMLファイルをクリーニングすることで魅力のように機能します。これを実行するショートカットを作成する方法を知っている人はいますか?
Leszek P

1
Visual Studio 2012以降の場合は、以下の答えを確認してください
Alaa

1
これが自動フォーマッタで機能する方法はありますか?
カイルデラニー

19

Visual Studio 2013(バージョン12.0.20623.01)^\r\nでは、この正規表現を使用して空の行を削除しました。画面では、茶色の四角で示される一致した行を確認できます。

Visual Studio 2013は空の行を置き換える


私もそのような方法を試しましたが、ビジュアルスタジオは数分間フリーズしたままで、それから私が持っている数百の1つのオカレンスのみを置き換えました!笑:-D
BertuPG 2014年


17

Visual Studio 2017以降を使用する

現在のドキュメント

ショートカットを使う

  • [ ツール] > [ オプション]を開く か、Alt+ T+を押しますO
  • 下の環境タブ> キーボード
  • DeleteBlank」を検索して選択しますEdit.DeleteBlankLines
  • Ctrl+ DCtrl+ などの新しいショートカットを追加しますE
  • 割り当て > OK

すべてのテキストを選択してショートカットを押します

ここに画像の説明を入力してください


これにより、選択した空白行のみ、または現在の行から次の非空白行までが削除されます。ドキュメントやプロジェクト全体を対象としたものではありません。

1
コマンドを実行する前にすべて選択してみてください。そうすれば機能します。
クリスモーネス

9

VS2012で2つ以上の隣接する空の行を削除するには、次を使用します。

^(?([^\r\n])\s)*\r?$\r?\n^(?([^\r\n])\s)*\r?$\r?\n

2つの空の行を1つに置き換えるソリューションを探していました。わたしにはできる。ありがとう!
RicardoFrança16年

8

私はビジュアルスタジオ2017を使用していますが、試してみるまで上記のいずれも機能しませんでした \n\r

手順:

  1. Ctrl + H(検索と置換を開きます)
  2. 正規表現の使用を選択(Alt + E)
  3. 入力し\n\r、「検索...」入力に
  4. プレス交換


2

CodeMaidをインストールし、Ctrl+M, Space' to clean up the code. (It formats the code, like Format DocumentCtrl + E、D`も押します)。ソリューションエクスプローラーからさらにファイルをクリーンアップできます。


1

VS 2012では、すべての空白行の検索と置換に使用する正規表現文字列は^(?([^ \ r \ n])\ s)\ r?\ n


0

Ctrl+ KCtrl+ Dautoは現在のドキュメントを自動フォーマットし、コード内の不要なスペースを削除します。それがあなたが探していたものなら、それはあなたのコードを読みやすく保つのを助けます。


私は私の問題を参照しています、見てください、それを探しています、これは私が探していたものです。 stackoverflow.com/questions/44747909/…
Vivek Shukla 2017年

1
これは、二重または冗長な空行を削除しません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.