我有两个例子
“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)
如何拆分最后一个破折号?
答案 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)
好的,没有实际编写代码,我可以看到你需要更有效地分割字符串。
首先,删除引号。
其次,根据?
标记拆分字符串。
获取数组中的第二个字符串,并根据-
标记将其拆分。
现在你有一个包含所有部分的数组,用除最后一个元素之外的所有部分加入这个数组。
使用原始的第一部分加入新字符串。
如果需要,请添加引号。