只读以字母 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 也有 IsUpper
和 IsLower
方法。
我只想从文本文件中读取那些以字母 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 也有 IsUpper
和 IsLower
方法。