2016-07-11 16 views
0

私は、私が1行で値を取得する必要があるデータセットをお互いからタブしています。正規表現:改行の複数の出現タブ付きの結果

test 
pizza 

pudding 
cheese 


Newt 
somethingelse 

otherstuf 


pokemon 
somedate 
derp 

お知らせ2と1の新しいラインの違い:

は、私は、このデータセットを持っていると言います。

新しい行が2つある場合、新しい行が作成されます "value"が空の値と同じ行に1つの新しい行がある場合。 このデータセットは、このなる:pizzapuddingとの間の空の行は、私は新しいに一致しようとした代わりに、2

1つの改行である

test pizza   pudding cheese 
Newt somethingelse otherstuf 
pokemon somedate  derp 

再び、この例の最初の行に注目してください^\nと置き換えて\tと置き換えますが、これは私が望むものではない1行にすべてのタブが表示されます.. 私は昇華を使用しています。

答えて

1

私は

(.)\R{1,2}+(?!\R) 

を示唆して$1\tと交換してください。この方法では、1〜2行の改行のみを一致させ、それらをタブで置き換えます。 (.)は、最初の改行の前に行にデータがあることを確認します。

enter image description here

パターンは詳細:

  • (.)から1または2改行...
  • (?!\R) - - グループ1は
  • \R{1,2}+改行以外の文字をキャプチャ.. 。改行されていない。

あなたは空行をマージできるようにする場合は、

(?<!\n)\R{1,2}+(?!\R) 

を試してみて、\tと交換することができます。その後

は、1と3つの改行を置き換える

\R{3} 

を使用して、OS /要件に応じて、\r\nまたは\n、または\rと交換します。

0

改行について言えば、空白行でなければ空白行になり、2行の改行文字を確認する必要があります。それは2つの改行についても同様です。

検索:ちょうど私のテンプレートを披露するために\t

enter image description here

(?<!\s)\n(?=\S)|\n{2}

と交換してください。

0

ファイルに応じて適切な改行シーケンスを選択し、2回のパスを使用します。 Windowsの改行配列を有する例:

利用二つのパス:

  • は、ファイルがちょうど `\ N 'Linux上で作業し、ここで使用しています\r\n
+0

Nopesで\t\t\tを置き換える\t

  • \r\nを置き換えます – Baklap4

  • +0

    @ Baklap4:この場合、 '\ r \ n'の代わりに' \ n'を使うだけです。 –