从VBA中的字符串中删除子字符串

时间:2014-03-03 17:02:15

标签: word-vba

我在VBA中有两个字符串,比如说,

Dim str1 as String
Dim str2 as String

str = "I.3) Haupttätigkeit(en)" 

str2= "I.3)" 

我想从str1中删除str2。在VBA有可能吗?

这就是我在做的事情:

Dim strResult As String

' Position of str1
intPos = InStr(1, str1, str2)
If intPos > 0 Then
    ' str2 found,
    strResult = Left(str1, intPos - 1)
Else
    ' str2 not found, so take whole string
    strResult = str1
End If

1 个答案:

答案 0 :(得分:0)

您需要的是使用Replace function非常简单:

str1 = Replace(str1, str2, "")   'result: Haupttätigkeit(en)

但是,它会在替换后保留领先空间,因此您可以尝试这种方式(删除前导或结束空格):

str1 = Trim(Replace(str1, str2, ""))   'result:Haupttätigkeit(en)

或者,您可以使用Mid Statement as described here