LINQ 和字串
LINQ 可以用來查詢及轉換字串和字串集合。 這特別適用於文字檔中的半結構化資料。 LINQ 查詢可以與傳統字串功能和規則運算式合併使用。 例如,您可以使用 Split 或 Split 方法來建立字串陣列,以供稍後使用 LINQ 加以查詢或修改。 您可以在 LINQ 查詢的 where 子句中使用 IsMatch 方法。 同時也可以使用 LINQ 來查詢或修改規則運算式所傳回的 MatchCollection 結果。
您也可以使用本節所述的技巧,將半結構化文字資料轉換為 XML。 如需詳細資訊,請參閱 HOW TO:從 CSV 檔案產生 XML。
本節中的範例可分成兩類:
查詢文字區塊
您可以使用 Split 方法或 Split 方法將文字區塊分成由最小字串組成的可查詢陣列,然後再加以查詢、分析和修改。 您可以以單字、句子、段落、頁面為單位或依其他任何準則來分割來源文字,然後再執行查詢所需的其他分割。
如何:統計某個字在字串中出現的次數 (LINQ)
顯示如何使用 LINQ 進行簡單的文字查詢。如何:查詢包含指定一組字的句子 (LINQ)
顯示如何依任意界限分割文字檔,以及如何針對每個部分執行查詢。如何:查詢字串中的字元 (LINQ)
證明字串是可查詢的型別。如何:合併 LINQ 查詢與規則運算式
示範如何在 LINQ 查詢中使用規則運算式,查詢與篩選出的查詢結果相符的複雜模式。
查詢文字格式的半結構化資料
許多不同類型的文字檔都是由一連串的行組成,而且通常具有類似的格式 (如以定位空格或逗號分隔的檔案或長度固定的行)。 將這類文字檔讀入記憶體之後,就可以使用 LINQ 來查詢和 (或) 修改這些行。LINQ 查詢也可以簡化將多個來源的資料合併的工作。
如何:尋找兩個清單之間的差異 (LINQ)
顯示如何尋找所有在某一個清單中出現,但未在另一個清單中出現的字串。如何:依任何字或欄位排序或篩選文字資料 (LINQ)
顯示如何根據任何單字或欄位來排序文字行。如何:重新排列有分隔符號的檔案中的欄位 (LINQ)
顯示如何重新排列 .csv 檔案中某一行的欄位。如何:合併和比較字串集合 (LINQ)
顯示如何以各種方式合併字串清單。HOW TO:從多個來源填入物件集合
顯示如何使用多個文字檔做為資料來源來建立物件集合。如何:從不同的檔案聯結內容 (LINQ)
顯示如何使用相符的索引鍵,將兩份清單中的字串合併成單一字串。如何:使用群組將檔案分割成許多檔案 (LINQ)
顯示如何使用單一檔案做為資料來源來建立新的檔案。如何:計算 CSV 文字檔案中的資料行值 (LINQ)
顯示如何對 .csv 檔案中的文字資料執行算術運算。