0

問題 - セミコロンで区切られた複数行のファイルが 79 桁目または 80 桁目で分割されています (奇妙な理由により常に同じとは限りません)。

正規表現が適切な解決策になると思われるので、今は 2 つの問題があります。

行は次のとおりです。

1sdf.............................mno[cr][lf]
pqr........xyz......................[cr][lf]
.....|.....|.....|.....|.....|.....|[cr][lf]
2sdf.............................mno[cr][lf]
pqr........xyz......................[cr][lf]
.....|.....|.....|.....|.....|.....|[cr][lf]
3sdf.............................mno[cr][lf]
pqr........xyz......................[cr][lf]
.....|.....|.....|.....|.....|.....|[cr][lf]
4sdf.............................mno[cr][lf]
pqr........xyz......................[cr][lf]
.....|.....|.....|.....|.....|.....|[cr][lf]
... 10000 rows ...

パイプがスペース以外の空白文字 (おそらくタブ) である場合

私は欲しい:

1sdf.............................mnopqr........xyz......................[cr][lf]
2sdf.............................mnopqr........xyz......................[cr][lf]
3sdf.............................mnopqr........xyz......................[cr][lf]
4sdf.............................mnopqr........xyz......................[cr][lf]

私はなんとか仕事をやり遂げた

パス 1^\s*\r\n : 置換\rxxx\n

// 空白行を \rxxx\n に置き換えます

1sdf.............................mno[cr][lf]
pqr........xyz......................[cr][lf]
[cr]xxx[lf]
2sdf.............................mno[cr][lf]
pqr........xyz......................[cr][lf]

パス 2: \r\n[empty] に置き換えます //そのまま:

1sdf.............................mnopqr........xyz......................[cr]
xxx[lf]
2sdf.............................mnopqr........xyz......................

\rxxx\nパス3: 置換\r\n

//終了:

1sdf.............................mnopqr........xyz......................[cr][lf]
2sdf.............................mnopqr........xyz......................

残りのクリーンアップは簡単です。

ワンステップでこれを行う方法はありますか?出力は一般的な金融アプリケーションからのものであり、多くの複数のクライアントに出力を調整してもらうよりも、自分でファイルを修正できる方がよいでしょう。

4

2 に答える 2

1

Notepad ++(正規表現モードを使用)では、次のように使用できます。

何を見つける:\r\n(\s*\r\n)?

と置換する:\1

次に、「すべて置換」を1回だけ実行します。ただし、必ずNotepad++6に更新してください。そうしないと、正規表現との一致\r\nはNotepad++では機能しません。

于 2012-10-12T12:55:16.797 に答える
0

^\s*\r\n上記のように削除したい行と一致すると仮定すると、次のように置き換えること\r\n\s*\r\n|\r\nでそれができると思います\r\n

これは私の最初の正規表現なので、うまくいかない場合は、厳しくしないでください:-)

幸運を

于 2012-10-11T23:49:28.237 に答える