簡體   English   中英

從數組中刪除空白值並建議一種更好的方法來讀取由“|”分隔的文本文件數據

[英]remove blank values from array and suggest a better method to read text file data delimited by '|'

我試圖從文本文件中獲取值,其中使用“ | ”分隔條目 '.am使用字符串.Split方法獲取值。但在某些地方,分隔符連續出現多次,如' ||||||||| ',所以在數組中插入空格我應該如何從數組中刪除那些空元素,或者是否有任何有效的技術從“|”分隔的文本文件中讀取值。下面是我的代碼和數組值的屏幕截圖

 var reader = new StreamReader(File.OpenRead(@"d:\er.txt"));
        while (!reader.EndOfStream)
        {
            var line = reader.ReadLine().Trim();
            var values = line.Split('|');
            string[] ee = values;

        }

中間有空值的數組

任何人都可以建議一個更好的方法來讀取由'|'分隔的文本文件中的數據

Split有一個帶有StringSplitOptions枚舉值的重載:

var values = line.Split(new char[]{'|'}, StringSplitOptions.RemoveEmptyEntries);

這將刪除空條目。

你可以在陣列上使用linq嗎?

var values = line.Split("|").Where(v => !string.IsNullOrEmpty(v)); 

看,下面的代碼行,你可以做類似的事情。

   var values = line.Split('|');
    List<string> FilteredValues = new List<string>();
    foreach (var value in values)
    {
        if (value != "")
        {
            FilteredValues.Add(value);
        }
    }

進一步向Oded的回答這是正確的語法

 var reader = new StreamReader(File.OpenRead(@"d:\er.txt"));
      while (!reader.EndOfStream)
      {
        var line = reader.ReadLine().Trim();
        var values =  line.Split(new char[]{'|'}, StringSplitOptions.RemoveEmptyEntries);
        string[] ee = values;

      }

或者,也許你可以使用trim()函數!

暫無
暫無

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

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