How to replace the last occurrence of a substring in a string with VB.NET

2 Answers

0 votes
Imports System

Public Class Test
    Public Shared Sub Main()
        Dim s As String = "c++ c php vb.net java golang vb.net nodejs"
        Dim subs As String = "vb.net"
         
        Dim pos As Integer = s.LastIndexOf(subs)
         
        If (pos <> -1) Then
            s = s.Remove(pos, subs.Length).Insert(pos, "python")
        End If
        Console.Write(s)
    End Sub
End Class




' run:
'
' c++ c php vb.net java golang python nodejs
'

 



answered Feb 22, 2020 by avibootz
0 votes
Imports System

Public Class Test
    Public Shared Function replace_last_occurrence(s As String, subs As String, new_subs As String) As String
        Dim pos As Integer = s.LastIndexOf(subs)

		If (pos = -1) Then
           return s
        End If

        If (pos <> -1) Then
            s = s.Remove(pos, subs.Length).Insert(pos, new_subs)
        End If
        
        return s
    End Function
    Public Shared Sub Main()
        Dim s As String = "c++ c php vb.net java golang vb.net nodejs"

        s = replace_last_occurrence(s, "vb.net", "python")
         
        Console.Write(s)
    End Sub
End Class




' run:
'
' c++ c php vb.net java golang python nodejs
'

 



answered Feb 22, 2020 by avibootz
...