gpt4 book ai didi

vba - Excel从括号中提取内容

转载 作者:行者123 更新时间:2023-12-02 18:17:57 24 4
gpt4 key购买 nike

代码来自Get the value between the brackets如果单元格仅包含一个“(文本)”,则效果很好。

不幸的是,我的行中有很多“Sample (sample1) (sample2)”格式的句子,我需要最后一部分。

Function GetParen(strIn As String) As String
Dim objRegex As Object
Dim objRegMC As Object
Set objRegex = CreateObject("vbscript.regexp")
With objRegex
.Pattern = "\((.+?)\)"
If .Test(strIn) Then
Set objRegMC = .Execute(strIn)
GetParen = objRegMC(0).submatches(0)
Else
GetParen = "No match"
End If
End With
Set objRegex = Nothing
End Function

有人可以帮我修改一下代码吗?因为如果单元格包含“文本(文本部分1)(文本部分2)”,我得到的结果是“文本部分1”,但我需要“文本部分2”。谢谢。

最佳答案

为什么要麻烦正则表达式?考虑替代方案:

Public Function GetParen(strIn As String) As String
Dim gather As Boolean, L As Long, i As Long
Dim CH As String
gather = False
L = Len(strIn)
For i = L To 1 Step -1
CH = Mid(strIn, i, 1)
If gather Then GetParen = CH & GetParen
If CH = ")" Then gather = True
If CH = "(" Then Exit For
Next i
GetParen = Mid(GetParen, 2)
End Function

enter image description here

编辑#1:

更简单:

Public Function GetParen2(strIn As String) As String
ary = Split(strIn, "(")
bry = Split(ary(UBound(ary)), ")")
GetParen2 = bry(0)
End Function

关于vba - Excel从括号中提取内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28914951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com