2016-06-23 27 views
15

では、次のテキストを持っていると言う:Visual Studioコードで重複する行を削除するにはどうすればよいですか?

abc 
123 
abc 
456 
789 
abc 
abc 

私はすべての「ABC」の行を削除し、1つだけ残しておきたいです。私はソーティングは気にしない。結果は次のようにする必要があります:

abc 
123 
456 
789 
+0

この質問を改善するために、あなたに最高の善意の試みを示し、あなたに混乱させるものだけをさらに具体的に質問してください。だから、試してみてください。 – abarisone

答えて

10

ちょうど同じ問題を持っていたし、詳細についてはVSCode市場の場所(例えばhttps://marketplace.visualstudio.com/items?itemName=Tyriar.sort-lines)を参照してください、VSCodeパッケージ「ソートライン」を見つけました。

このパッケージには、「行の並べ替え(一意)」というオプションがあります。行の先頭/末尾に空白があれば、行が一意であるかどうかに影響します。

+0

https://marketplace.visualstudio.com/items?itemName=bibhasdn.unique-linesも有効です。 – kcpr

+1

拡張機能で重複したエントリを削除できなくなったようです。 @ Marc-2377の[回答](https://stackoverflow.com/a/45829605/31532)と組み合わせると、私のトリックがあるようです。 –

20
  1. コントロール + F

  2. トグルで(.*記号のアイコン)

  3. タイプ "正規表現を使用" トグル

  4. を "モードを交換してください"検索フィールド:

    フィールド "に置き換え" で
    ^(.*)(\r?\n\1)+$ 
    
  5. タイプ:

    $1 
    
  6. クリックして "すべて置換"。この関連する質問に基づいて

find duplicate lines and remove using regular expression with replace feature

+2

これは、現在の行の直後の行が重複している場合にのみ重複を検出します。提供された正規表現でVSコードの例を検索すると、最後の2行だけが選択されます。 それは私の行を並べ替えた後にうまくいきました。 –

+0

@JamesRossああ!よく注目される。 –

1

正規表現で置き換える&を見つけてください。

  • 検索:^(.+)((?:\r?\n.*)*)(?:\r?\n\1)$

  • は交換してください: $1$2

最初のグループ内のいくつかの変化を導入することが可能です。

関連する問題