2010-09-27 92 views

回答

0

你只需要知道它們是否完全一樣?如果是這樣,您可以將它們加載到內存中並比較.length()屬性...

+0

當然你所說的是完全正確的。假設在第二個文件中我有一些代碼之間的空間,然後如何去除這些東西。 – 2010-09-27 13:08:17

0

從技術上講,如果一個文件包含額外的空間,它們就不是「相同的」。我首先比較長度,如果不匹配,則需要逐字節比較。如果你想刪除多餘的空格,你可能會首先在兩個文件的內容上做一些像Trim()一樣的操作。

這裏是一個老MS帖子的鏈接描述瞭如何創建一個文件比較功能:

http://support.microsoft.com/kb/320348

1

由於JavaScript是空白寬容(容忍空白的任何量,只要語法是正確的),如果要比較的一切空白是最簡單的事情做正則表達式替換:

Regex _r = new Regex(@"\s+", RegexOptions.Compiled); 
string result = _r.Replace(value, " "); 

運行這兩個文件,並比較將R esults;它用一個空格替換任何標準空白字符序列(空格,製表符,回車符,垂直製表符等)。然後,您可以與Equals進行比較(根據需要區分大小寫)。

當然,空格在字符串內部是很重要的,所以這裏假設所有比較文件中的字符串處理都不太依賴空白。

但是,兩個非常不同的代碼文件可以具有相同的效果,所以如果這是您在您面前艱難工作之後所要做的。