Оба эти метода работают для вашего сценария.Они будут зависеть от ваших входных данных и согласованности символов подчеркивания в ваших данных.
Возможно, вам просто не хватает Option Explicit On
Private Sub Button18_Click(sender As Object, e As EventArgs) Handles Button18.Click
Debug.Print(getBaseTagItem("DO1001_Inp_IOFault"))
Debug.Print(getBaseTagItemOldSchool("DO1001_Inp_IOFault"))
End Sub
Private Function getBaseTagItem(tagItem As String)
Dim vals() As String = tagItem.Split("_"c)
Return String.Concat(vals(1), "_", vals(2))
End Function
Private Function getBaseTagItemOldSchool(tagItem As String)
Dim sOPCTagItem As String = tagItem
Dim sBaseTagItemName As String = Strings.Left(sOPCTagItem, InStr(sOPCTagItem, "_") - 1)
Dim iTest1 As Integer = Len(sOPCTagItem)
Dim iTest2 As Integer = InStr(sOPCTagItem, "_")
iTest1 = iTest1 - iTest2
Dim sBaseTagItemExtension As String = Strings.Right(sOPCTagItem, Len(sOPCTagItem) - InStr(sOPCTagItem, "_"))
Return sBaseTagItemExtension
End Function