只读以字母 a-z vb.net 开头的行

read only lines which start with alphabets a-z vb.net

我只想从文本文件中读取那些以字母 a-z 开头的行 vb.net

目前我正在使用 ReadToEnd。

fileReader = New StreamReader(OpenFile.FileName)

        Dim fileread1 As String = fileReader.ReadToEnd

        'For i = 0 To linesarray1.GetUpperBound(0)
        '    If linesarray1(i).StartsWith("a-z") Then
        '        r_text_file2.AppendText(Environment.NewLine & linesarray1(i))
        '    End If
        'Next

但不工作

你可以用这个。

For i = 0 To linesarray1.GetUpperBound(0)
    If  Char.IsLetter(linesarray1(i).substring(0,1)) Then
        r_text_file2.AppendText(Environment.NewLine & linesarray1(i))
    End If
Next

用这个你可以检查第一个位置是否是字母。

如果您使用它,您应该首先检查您的字符串长度是否 > 0 以防止异常。

编辑:

如果您想检查字符串不是以 "p" 开头,请将 if 更改为:

If  Char.IsLetter(linesarray1(i).substring(0,1)) And not linesarray1(i).substring(0,1) = "p" Then 
...

您发布的示例仅当它们以确切的字符串“a-z

开头时才会读取行

我认为您应该寻找的是 System.Char.IsLetter(linesarray1(i)(0))

但在调用上述方法之前还要检查 null 和空字符串。

编辑:

请在此处查看 IsLetter 的 msdn 文档:https://msdn.microsoft.com/en-us/library/system.char.isletter%28v=vs.110%29.aspx

此外,如果大小写很重要,Char class 也有 IsUpperIsLower 方法。