vba - 从字符串中删除方括号中的文本
问题描述
我的记录包含方括号之间的文本。
aaaaaa[aaaaa]
我需要删除该文本,包括方括号。
结果将是:
aaaaaa
我正在尝试这段代码:
Dim sqr as Integer
Dim origin as String
Dim result as String
InStr(origin,[)
我可以找到第一个方括号,但它不起作用。
解决方案
由于在您的问题中您声明您希望删除方括号内的文本(包括删除方括号),我建议如下:
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]
推荐阅读
- python - 撞到块后如何固定我的角色位置?
- python-3.7 - Ray 库抛出“setpgrp failed”错误
- unity3d - 从 Unity 到 Flask 的 POST 请求导致“空”值
- css - 样式引导卡头不起作用
- sql - JPA 存储库中使用 @Query 的多个 SELECT 语句
- reactjs - React Native Picker - 在新闻发布会上
- javascript - 电子邮件边框样式不适用于 javascript 中的表单验证?
- haskell - Haskell 中的错误。请指导我如何解决这个问题
- python - ImportError:无法从“mymodule”导入名称“mylist”
- tensorflow - keras 中全局池化层和(正常)池化层之间的区别