首页 > 解决方案 > 查找并替换 2 个符号之间长度可变的字符串

问题描述

我已经查看了所有内容,但找不到如何替换两个特殊字符之间的单词的命令。我想删除两个括号之间的所有内容。

我只设法删除了一个特殊字符“(”,但没有删除括号之间的整个单词。

结果应该如何:

示例 - 之前:26125 Oldenburg (Oldenburg), Alexandersfeld

示例 - 之后:26125 Oldenburg, Alexandersfeld

Option Explicit

Sub Bereinigen()

Dim Text As String
'Text = ActiveSheet.Cells(1, 1)
Text = "26125 Oldenburg (Oldenburg), Alexandersfeld"

If InStr(Text, "(") > 0 Then

    Dim strSearchFor As String
    Dim strReplaceWith As String
    Dim strNewText As String

    strSearchFor = "("
    strReplaceWith = ""

    strNewText = Replace(Text, strSearchFor, strReplaceWith)
    Debug.Print strNewText
End If
End Sub

标签: excelvbaif-statementstr-replace

解决方案


如果您正在编写 VBA 过程,那么您可以使用Left,Mid和的组合InStr

Sub sRemoveBracketData()
    Dim strData As String
    strData = "26125 Oldenburg (Oldenburg), Alexandersfeld"
    If (InStr(strData, ")") > 0) And (InStr(strData, ")") > 0) Then
        strData = Left(strData, InStr(strData, "(") - 1) & Mid(strData, InStr(strData, ")") + 1)
        Debug.Print strData
    End If
End Sub

使用工作表函数可以实现类似的结果:

=IFERROR(LEFT(A15,FIND("(",A15)-1) & MID(A15,FIND(")",A15)+1,999),A15)

问候,


推荐阅读