簡體   English   中英

如何在C#中使用File.ReadAllLines時一開始就消除特殊字符

[英]How to get rid of special characters at the beginning, while using File.ReadAllLines in C#

我嘗試使用string[] file = File.ReadAllLines(file_name)讀取word文件。

在調試模式下,我發現字符串數組文件的前幾個參數具有類似

" ࡱ 0\\0\\0\\0>\\0\\0 \\t\\0\\0\\0\\0\\0" 我如何擺脫這個。

在某些文件中,file []的前3個自變量用這些填充,而對於少數文件,只有第一個自變量用這些不可使用的字符填充。

有什么問題,我該如何擺脫呢? 但是我的Word文件開頭甚至沒有空行。

問題是您沒有使用正確的編碼打開文件。 是從C#打開和創建Word文檔的指南。

File.ReadAllLines適用於文本文件。 Word文件不是文本文件。 要讀取Word文件,您可能需要一個庫。

如果您使用的是.NET 3.5,那么我建議您使用LINQ where子句僅返回您感興趣的行。

string[] file = File.ReadAllLines(file_name).Where(line => !line.StartsWith("��")).ToArray();

您也可以使用某種形式的正則表達式來代替line.StartsWith()方法。

注意:如果您正在閱讀Microsoft Office Word文件,建議您使用COM Interop或3rd party庫來閱讀MS Word文檔(與嘗試自己解析文件相比,它會容易得多)。

Word文件不是簡單的文本文件,因此將嵌入其他二進制信息。

如果要正確提取文本,則應使用將讀取Word文檔的庫,而不是File.ReadAllLines

這里有幾個這樣的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM