2013-08-21 123 views
1

我試圖獲取分隔符右側的字符串「|」而左邊的任何東西都可以忽略。將分隔符右側的字符串

我嘗試以下,但它給我的價值觀向左

Dim s As String = "John Smith | 09F2" 
    Console.WriteLine(s.Substring(0, s.IndexOf("|"))) 
    Console.WriteLine(s.Split(CChar("|"))(0)) 
    Console.ReadKey() 

結果是:約翰·史密斯。我想要09F2的價值。

我也試過下面的代碼行:

Dim strEmployeeInfo As String = cmbSelectEmployee.Text 
     Dim employeeID = Microsoft.VisualBasic.Right(strEmployeeInfo, strEmployeeInfo.IndexOf("|")) 

但這個結果是史密斯| 09F2。再次,我只需要09F2

回答

1

當你分割的|字符,則生成的數組將「約翰·史密斯」在第一位置,而「09F2」在第二位置。所以你需要訪問第二個位置。因爲它是基於0的傳球進入第二個位置。接下來,修剪結果以擺脫任何附加空間:

Dim s As String = "John Smith | 09F2" 
Dim split As String() = s.Split("|"c) 
Dim result As String = split(1).Trim() 
2

試試這個:

Console.WriteLine(s.Substring(s.IndexOf("|") + 1)); 
1

假設您有多個「|」在你的字符串,你想在最後的最後一部分「|」,你可以用這個和它也適用於上面的例子:

Dim SArray() As String = s.Split("|"c); 
//if necessary, check the length of SArray() for correctness 
Console.WriteLine(SArray(SArray.Length - 1)); 
0

我會去這個:

Dim s As String = "John Smith | 09F2" 
Console.WriteLine(s.Split("|").Last().Trim())