首页 > 解决方案 > 从字符串中删除方括号中的文本

问题描述

我的记录包含方括号之间的文本。

aaaaaa[aaaaa]

我需要删除该文本,包括方括号。

结果将是:

aaaaaa

我正在尝试这段代码:

Dim sqr as Integer
Dim origin as String
Dim result as String

InStr(origin,[)

我可以找到第一个方括号,但它不起作用。

标签: vbams-access

解决方案


由于在您的问题中您声明您希望删除方括号内的文本(包括删除方括号),我建议如下:

Function RemoveSqBracketText(strStr As String) As String
    Dim lngId1 As Long
    Dim lngId2 As Long
    lngId1 = InStr(strStr, "[")
    lngId2 = InStr(strStr, "]")
    If lngId1 > 0 And lngId2 > 0 Then
        RemoveSqBracketText = Left(strStr, lngId1 - 1) & RemoveSqBracketText(Mid(strStr, lngId2 + 1))
    Else
        RemoveSqBracketText = strStr
    End If
End Function

这将递归地删除包含在方括号中的所有文本实例,并假设您只希望删除包含在左括号和右括号中的文本

例子:

?RemoveSqBracketText("abc[123]")
abc

?RemoveSqBracketText("abc[123]def[ghi]")
abcdef

?RemoveSqBracketText("abc[123]defghi]")
abcdefghi]

推荐阅读