在最后一个破折号中使用Vb.net中的Split

时间:2017-06-14 04:23:05

标签: vb.net visual-studio split

我有两个例子

  

“hcg.com.ph?C402-10A-2012-06132017-22”

     

“hcg.com.?C3032-1B-2012-06132017-1”

输出应该是

  

hcg.com.ph?C402-10A-2012-06132017

     

hcg.com.?C3032-1B-2012-06132017

但我得到了

  

hcg.com.ph?C402和hcg.com.?C3032

     

Dim FinalSplt()As String   Dim ItemBaseCode As String

     

FinalSplt = value.ToString.Split(“ - ”)

     

ItemBaseCode = FinalSplt(0)

如何拆分最后一个破折号?

2 个答案:

答案 0 :(得分:0)

以下是一些使用Substring和LastIndexOf的代码。

    'test input
    Dim si() As String = {"hcg.com.ph?C402-10A-2012-06132017-22", "hcg.com.?C3032-1B-2012-06132017-1"}

    'use to verify
    Dim sv() As String = {"hcg.com.ph?C402-10A-2012-06132017", "hcg.com.?C3032-1B-2012-06132017"}

    For x As Integer = 0 To si.Length - 1
        Dim s As String = si(x).Substring(0, si(x).LastIndexOf("-"c))
        'verify
        If s = sv(x) Then
            Stop 'verified
        End If
    Next

答案 1 :(得分:-1)

好的,没有实际编写代码,我可以看到你需要更有效地分割字符串。

首先,删除引号。

其次,根据?标记拆分字符串。

获取数组中的第二个字符串,并根据-标记将其拆分。

现在你有一个包含所有部分的数组,用除最后一个元素之外的所有部分加入这个数组。

使用原始的第一部分加入新字符串。

如果需要,请添加引号。