2011-06-23 98 views
-6

我想要自動執行我現在手動執行的過程。我目前比較兩個.txt文檔(我們將它們稱爲「D1」和「D2」),並創建另一個文檔(稱爲「D3」),這是另外兩個文檔的組合。我需要做的是在「D1」中找到一個特定的字符串,並在「D2」中找到類似/相同的字符串。一旦出現匹配,我需要用下列與「D2」匹配的字符串替換「D1」中的字符串,並將其作爲主文件放入「D3」中。這聽起來有點所以這裏混亂是我想它是什麼樣子:將.txt文件中的文本替換爲另一個.txt文件

爲「D1」的.txt文件格式如下:

1  0010 12345    DEF, DEF-0320    
    1  0020 ABC-00010G   ABC-A,1xx,10%,x1x,0603 
    1  0020A ABC-00010G   ABC-A,1xx,10%,x1x,0603 
    1  0030A ABC-00127G   ABC,4.7xx,10%,x1x,0805 

.txt文件格式「 D2" 如下:

10 BARE PCB 
    20 T C40, C3112 
    B C5, C45, C48 
    30 B C25 

我想比較這兩個 「D1」 和 「D2」,找到值 '0010', '0020', '0020A', '0030A' 從 「D1」和「D2」中的值「10」,「20」,「30」。如果(當)有兩組數字之間的匹配(即,「0010」和「10」),我想格式化一個新的文件,「D3」,具體如下:

1  AAAA BCD 142717    DEF, DEF-0320     T 
    1  C40  ABC-00010G   ABC-A,1xx,10%,x1x,0603  T 
    1  C3112  ABC-00010G   ABC-A,1xx,10%,x1x,0603  T 
    1  C5  ABC-00010G   ABC-A,1xx,20%,x1x,0603  B 
    1  C45  ABC-00010G   ABC-A,1xx,20%,x1x,0603  B 
    1  C48  ABC-00010G   ABC-A,1xx,20%,x1x,0603  B 
    1  C25  ABC-00127G   ABC,4.7xx,100%,x1x,0805  B 

「T/B」是根據「D1」中第二個數字後面是否有「A」來分配的。如果只有一個數字,則分配'T',如果有'A'則分配'B'。此外,「D3」.txt文檔中還有更多行,因爲「,」分隔了不同的值(即'20','C40'和'C3112')。對於「D2」中的每個',',需要在「D3」中有一個與上面的行格式相同的新行。

+5

OK,我看到你的任務是什麼。但我在這裏沒有看到問題。你只是要求人們爲你寫代碼。 –

+4

問題是什麼?我只在這裏看到一個問題聲明... –

+0

我不是在尋找書面的代碼,而是在如何去做這件事。我對C#非常陌生,並且想了解如何正確比較兩個文本文件,並將兩個文件中的匹配替換爲第二個文件中的其他文本並將其輸出到第三個文件中。所以我的問題是,閱讀「D1」和「D2」並比較兩個類似字符串並繼續替換「D1」中的文本的最佳方法是什麼? – theNoobGuy

回答

3

科爾頓寫道:

所以我的問題是,什麼是去讀書「D1」和「D2」,並比較兩個相似字符串的最好方法,比出發,以取代「D1」中的文字?

這裏的一個方式(沒有最好方式,至少不是一個人人彼此同意):

  1. 一行[?]
  2. 分裂閱讀這兩個文件的行每行在其空白處[?]
  3. 對於這兩個文件,創建一個2維數組[?]
  4. 從2個維數組相應的列進行相互比較,並檢查一個包含其他[?]
  5. 寫東西回來到3號的文件[?]