获取textbox vb.net中每行的第一个字符

时间:2013-11-15 17:37:49

标签: vb.net string char

我知道这应该很容易..但是,每次我运行这段代码时,它会告诉我第一行的第一个字符,然后它返回“”所有后续字符......

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

2 个答案:

答案 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内部是什么?