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