拆分分隔符右侧的字符串

时间:2013-08-21 02:15:28

标签: vb.net

我正在尝试获取分隔符“|”右侧的字符串左边的任何东西都可以忽略。

我尝试了以下内容,但它给了我左边的值

  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

4 个答案:

答案 0 :(得分:2)

试试这个:

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

答案 1 :(得分:1)

当您分割|字符时,结果数组将在第一个位置显示“John Smith”,在第二个位置显示“09F2”。所以你需要访问第二个位置。因为它是基于0的传入1来访问第二个位置。接下来,修剪结果以除去任何其他空格:

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

答案 2 :(得分:1)

假设您有多个“|”在你的字符串中,你想要在最后一个“|”之后的最后一部分,你可以使用它,它也适用于上面的例子:

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

答案 3 :(得分:0)

我会这样做:

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