2016-07-19 28 views
1

我想知道它是如何可能要檢查什麼類型的數據(整數/)在inputfile的每一行的第一個字母。
我無法找到回答我的問題的東西,特別是因爲我不知道在這之後我該如何搜索。檢查中每一行的數據類型在vb.net

舉例來說,在我的inputfile建這樣的:

Birthdate;Name 
19920711;John 
19801106;Alex 
19950327;Sam 

現在我只想篩選出的日期沒有名稱和標題。這怎麼可能?

回答

1

您可以使用Char.IsDigit和或Char.IsLetter

例如:

Using sr As New StreamReader("c:\myfile") 
     Do Until sr.EndOfStream 
      Dim line = sr.ReadLine 
      If line.Length > 0 Then 
       If Char.IsLetter(line(0)) Then 
        Debug.WriteLine("First char is a letter") 
       ElseIf Char.IsNumber(line(0)) Then 
        Debug.WriteLine("First char is a number") 
       End If 
      End If 
     Loop 
    End Using 
0

您可以使用下面使用Char.IsDigitDateTime.TryParseExact LINQ查詢:

var linesWithoutHeader = File.ReadLines(path) 
    .Select(line => line.Trim()) 
    .SkipWhile(line => line.Length == 0 || !Char.IsDigit(line[0])); 

DateTime birthDate = DateTime.MinValue; 
List<DateTime> birthDateList = linesWithoutHeader 
    .Where(line => line.Contains(';')) 
    .Select(line => line.Remove(line.IndexOf(';'))) 
    .Where(dateStr => DateTime.TryParseExact(dateStr, "yyyyMMdd", null, DateTimeStyles.None, out birthDate)) 
    .Select(dateStr => birthDate) 
    .ToList(); 
+0

你的一些C#的是顯示有蒂姆 –

相關問題