Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vb.net中检查每行中的数据类型_.net_Vb.net_Parsing_Types - Fatal编程技术网

在vb.net中检查每行中的数据类型

在vb.net中检查每行中的数据类型,.net,vb.net,parsing,types,.net,Vb.net,Parsing,Types,我想知道如何检查inputfile每行的第一个字母是什么类型的数据(整数/字符)。 我没能找到什么东西来回答我的问题,特别是因为我不知道我该如何寻找这个 例如,在我的inputfile中是这样构建的: Birthdate;Name 19920711;John 19801106;Alex 19950327;Sam 现在我只想过滤掉没有名字和标题的日期。这怎么可能 您可以使用Char.IsDigit和或Char.islitter 例如: Using sr As New StreamReader("

我想知道如何检查
inputfile
每行的第一个字母是什么类型的数据(整数/字符)。
我没能找到什么东西来回答我的问题,特别是因为我不知道我该如何寻找这个

例如,在我的
inputfile中
是这样构建的:

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

现在我只想过滤掉没有名字和标题的日期。这怎么可能

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

例如:

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

您可以使用以下使用
Char.IsDigit
DateTime.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();
var linesWithoutHeader=File.ReadLines(路径)
.Select(line=>line.Trim())
.SkipWhile(line=>line.Length==0 | | |!Char.IsDigit(line[0]);
DateTime birthDate=DateTime.MinValue;
List birthDateList=linesWithoutHeader
.Where(line=>line.Contains(“;”))
.Select(line=>line.Remove(line.IndexOf(“;”))
.Where(dateStr=>DateTime.TryParseExact(dateStr,“yyyyMMdd”,null,datetimestyle.None,out birthDate))
.Select(dateStr=>birthDate)
.ToList();