一部のデータのみを保持するためにトリミングしたファイルがあります。このファイルは、2 番目のファイルの最後に追加したいファイルです。最初のファイルは次のようになります。
147221
147486
147514-1
147502
147503
...
次のようなファイルの最後に連結したいと思います。
some text ... more text
text text: Description
Ln PPN PD Qty Units Comment MNAME MfMCODE
some comment
1 EC5547 PCB: SB5500 LCD DISPLAY CTRL +RHS 1.00 EA REV 07 OR LATER
2 EC0303 FERRITE BEAD: 200MA 1000Z0.8 SM0603 +RHS 2.00 EA FB2 FB4 MURATA BLM18RK102SN1
3 EC0304 FERRITE BEAD: 2000MA 220Z0.05 SM0805 +RHS 2.00 EA FB1 FB5 MURATA BLM21PG221SN1
4 EC7727 IC: LTC2851 RS422 XCVR SO8 +RHS 1.00 EA U10 LINEAR TECHNOLOGIES LTC2851CS8#PBF
LINEAR TECHNOLOGIES LTC2851IS8#PBF
MAXIM MAX3077EASA+
MAXIM MAX3077EESA+
DNP C20 C24 C25 C27 C44 C60 C62 J1 J5 J6 J7 J8 J11 R2 R20
R29 R33 R53 R54 R89 R91 R94 R96 R107 R108 R109 C63 R61
J12 J13 U7 TP1-20 TP22-28 TP34-36 TP38-39 TP41 TP43-54
TP56-96
5 EC5071 CONN: HEADER RA 0.1x10 0.025 SQ +RHS 1.00 EQ J2 SAMTEC TSW-110-08-S-S-RA
...
2 番目のファイル行が 1,2,3,4,5 などで始まるかどうかを照合し、最初のファイルの行を同じ順序で追加します。
それがどのように見えるかは、次のようなものです。
some text ... more text
text text: Description
Ln PPN PD Qty Units Comment MNAME MfMCODE
some comment
1 EC5547 PCB: SB5500 LCD DISPLAY CTRL +RHS 1.00 EA REV 07 OR LATER 147221
2 EC0303 FERRITE BEAD: 200MA 1000Z0.8 SM0603 +RHS 2.00 EA FB2 FB4 MURATA BLM18RK102SN1 147486
3 EC0304 FERRITE BEAD: 2000MA 220Z0.05 SM0805 +RHS 2.00 EA FB1 FB5 MURATA BLM21PG221SN1 147514-1
4 EC7727 IC: LTC2851 RS422 XCVR SO8 +RHS 1.00 EA U10 LINEAR TECHNOLOGIES LTC2851CS8#PBF 147502
LINEAR TECHNOLOGIES LTC2851IS8#PBF
MAXIM MAX3077EASA+
MAXIM MAX3077EESA+
DNP C20 C24 C25 C27 C44 C60 C62 J1 J5 J6 J7 J8 J11 R2 R20
R29 R33 R53 R54 R89 R91 R94 R96 R107 R108 R109 C63 R61
J12 J13 U7 TP1-20 TP22-28 TP34-36 TP38-39 TP41 TP43-54
TP56-96
5 EC5071 CONN: HEADER RA 0.1x10 0.025 SQ +RHS 1.00 EQ J2 SAMTEC TSW-110-08-S-S-RA 147503
....
考え
- 今のところ、これを行う最善の方法は、元のファイルをトリミングし (既に行っています)、2 番目のファイルを検索して、数字で始まる行を探すことだと思います。(正規表現でこれを行うと思います: ...@"^[\d]+\s+"...)。ただし、その正規表現を使用すると、行全体ではなく、行の番号のみを取得できますか? しかし、行全体を取得できた場合 (方法がわかりません)、その行が見つかった場合は、それを文字列に入れ、前のファイルの最初の行をその文字列の末尾に追加します。区切り文字「\t」。
かなり:
- 最初のファイルを、2 番目のファイルの末尾に連結するために必要な数にトリムします(完了) 。
- 2 番目のファイルの各行を取得します (1 つずつ?)
- 行が数字で始まるかどうかを確認します(正規表現を使用していますか?)
- 一致する場合は、最初のファイルの最初の行を 2 番目のファイルの一致の末尾に追加します (すべての一致に対してこれを行います。2 番目の一致では 2 行目、3 番目の一致では 3 行目など)、ファイルとして保存します。新しい弦。(これに関する問題は、たくさんの文字列が必要になることです...そして私はリストに慣れていません..)
- 行が数字で始まるかどうかを確認します(正規表現を使用していますか?)
- 次に、2 番目のファイルの各行に戻り、新しい文字列 (最初のファイルの終わり) を 2 番目のファイルのすべての行と比較します。一致する場合は、その行を文字列内の行に置き換えます。
- リッチ テキスト ボックス/.txt ファイルに出力します。
質問
- 2 番目のファイルで 1,2,3,4,5 などで始まる行を見つけて、最初のファイルを 1 行ずつ取得し、最初の行を最初の行に追加するにはどうすればよいですか。この場合、1 で始まる行全体の末尾に 147221 を追加します (2 で始まる行の末尾に 147486 など)?
- これを行う簡単な方法を知っている人はいますか?