我想从文本文件中读取那些以字母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
但没有工作
答案 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
课程也有IsUpper
和IsLower
方法。