我需要帮助。我有一个组合框,显示以下结果
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)),但我无法弄清楚如何将左边的字符放入变量中。
答案 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