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

时间:2016-01-20 06:44:31

标签: vb.net-2010

我想从文本文件中读取那些以字母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

但没有工作

2 个答案:

答案 0 :(得分:0)

你可以使用它。

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 
...

答案 1 :(得分:0)

您发布的样本只有以精确字符串“ 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课程也有IsUpperIsLower方法。