2013-07-09 25 views
1

我需要幫助。我有一個顯示以下結果字符串操作:顯示「|」左側的所有字符分隔符

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

分割返回數組,你的情況而左邊是'YourVariableName(0)'和右側將是'YourVariableName(1)' –

回答

3

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

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

注意String.IndexOf()將返回-1,如果字符串不包含您所要求的字符。如果您不確定字符串是否始終包含|,則需要測試返回值String.IndexOf()

+0

謝謝。它工作得很完美,我確信我接近了答案,但在查看代碼13個小時後,我再也想不起來了。 –

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 
+1

是vb,'Split(「|」c))[0]'會變成'Split(「|」c)(0)「。沒有方括號,全是括號。 – inquisitive