字符串操作:显示“|”左侧的所有字符分隔符

时间:2013-07-09 03:18:51

标签: vb.net

我需要帮助。我有一个组合框,显示以下结果

  

A123456 |员工A

然后我想获取前6个字符并将结果放在单元格上,所以我计算出以下代码:

    Private Sub cmbSelectEmployee_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbSelectEmployee.SelectedIndexChanged

    Dim employeeInfo As String = cmbSelectEmployee.Text
    Dim employeeID = Microsoft.VisualBasic.Left(employeeInfo, 6)

    Globals.calCalculationSheet.Range("B36").Value = employeeID

End Sub

作品很完美,只是现在我才意识到“|”的6位数字并不总是6.有时是5,其他时间可能是10.所以现在我需要显示“|”左边的所有字符

我使用了Split(“|”c)),但我无法弄清楚如何将左边的字符放入变量中。

2 个答案:

答案 0 :(得分:3)

您可以使用String.IndexOf()查找字符串中字符的索引:

Dim employeeID = Microsoft.VisualBasic.Left(employeeInfo, employeeInfo.IndexOf("|"))

请注意,如果字符串不包含您请求的字符,String.IndexOf()将返回-1。如果您不确定字符串是否始终包含|,则需要测试String.IndexOf()的返回值。

答案 1 :(得分:0)

请试一试。

Private Sub cmbSelectEmployee_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbSelectEmployee.SelectedIndexChanged

    Dim employeeInfo As String = cmbSelectEmployee.Text
    Dim employeeID = employeeInfo.Split("|")(0)

    Globals.calCalculationSheet.Range("B36").Value = employeeID

End Sub