我正在尝试获取分隔符“|”右侧的字符串左边的任何东西都可以忽略。
我尝试了以下内容,但它给了我左边的值
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
答案 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())