Вы можете использовать String.IndexOf
и в String.Substring
и начать перед ее решить:
Dim String1 as String = "GunsAndRosesWelcomeToTheJungle"
Dim String2 as String = "DontCry"
Dim index = String1.IndexOf("com")
Dim ResultString as String = String1.Substring(0, index) + String2
Edit:
Если оба ввода подстроки и строка должна быть отменена по той или иной причине, я бы представил функцию обратной строки, подобную этой
Private Function Reverse(Val As String) As String
Dim charArray As Char() = Val.ToCharArray()
Array.Reverse(charArray)
Return New String(charArray)
End Function
И затем использовать его как этот
Dim String1 As String = "GunsAndRosesWelcomeToTheJungle"
Dim String2 As String = "DontCry"
Dim index = String1.Length - Reverse(String1).IndexOf(Reverse("com")) - ("com").Length
Dim ResultString As String = String1.Substring(0, index) + String2
Else, мы можем использовать String.LastIndexOf
Dim String1 as String = "GunsAndRosesWelcomeToTheJungle"
Dim String2 as String = "DontCry"
Dim index = String1.LastIndexOf("com")
Dim ResultString as String = String1.Substring(0, index) + String2
Как насчет [этого] (https://dotnetfiddle.net/QMakBO)? –
wingedpanther, как я уже сказал, проблема в том, что у меня есть еще несколько персонажей «com». Ян и Джамон дали мне ответ. Простое использование String.LastIndexOf – Rusmir
Я использовал «GunsAndRosesWelcomeTocomeThecomJunglecom» (_4 н.с. com_) в моем примере –