Вы должны использовать регулярное выражение.
например:
Sub a()
Dim Regex As New RegExp
Dim SubjectString As String
SubjectString = "COVID-19 xyz(test) affects xyz(test) so much, families."
With Regex
.Global = True
.Pattern = "(\sxyz(\S*))"
End With
Dim ResultString As String
ResultString = Regex.Replace(SubjectString, "")
MsgBox (ResultString)
End Sub
первый \s
, использованный для захвата 1 пробела перед xyz
, поэтому при удалении замены, это не оставит 2 пробела. <br>
затем ищем строку xyz
и открывающую скобку, внутри нее я ищу \S
, который является любым символом, а *
означает 0 или более раз, а затем я ищу закрывающую скобку.