我知道这应该很容易..但是,每次我运行这段代码时,它会告诉我第一行的第一个字符,然后它返回“”所有后续字符......
Dim firstChar As Char
' Split on New Line
For Each strLine As String In TextBox1.Text.Split(vbNewLine)
firstChar = strLine.First()
If firstChar = "[" Then
MessageBox.Show("I found it!")
End If
Next
答案 0 :(得分:3)
使用Lines
的{{1}}值,而不是按新行字符分割,如下所示:
TextBox
现在你可以遍历字符串数组并获取每个字符串的第一个字符,如下所示:
Dim lines() As String
lines = TextBox1.Lines
然后你可以输入逻辑来检查第一个字母是否为某个值,如下所示:
For Each line As String In lines
' Protect against strings that do not have a first letter to check
If line.Length >= 1 Then
Dim firstLetter As Char
firstLetter = line.Substring(0, 1)
End If
Next
注意:上面我概述了孤立的步骤,但很明显,您可以将这些内容组合在一起,以获得更简洁的解决方案,如下所示:
If firstLetter = "[" Then
MessageBox.Show("I found it!")
End If
答案 1 :(得分:0)
firstChar = strLine.Substring(0,1)
更多是我用于编码,从未见过的第一个,不是说它无效,但可能是一个问题?另外vbNewLine虽然是正确的,但我会分为char(10)或char(13),有时它不是两者。另外,在调试器中strLine内部是什么?