试图解析excel字符串

时间:2015-04-11 01:16:56

标签: excel

我正在尝试解析来自teamspeak的字符串。我是excel的新功能。我已经用PHP实现了这一点,但我正在驾驶自己坚果擅长。这是我试图解析的字符串:

[URL=client://4792/noEto+VRGdhvT9/iV375Ck1ZIfo=~Rizz]Rizz[/URL]

这是我迄今为止所取得的成就:

=TRIM(MID(B22, 15, FIND("=",B22,12) - FIND("//",B22)))

返回

4792/noEto+VRGdhvT9/iV375Ck1ZIfo=~

我想让它回来:

noEto+VRGdhvT9/iV375Ck1ZIfo=

有什么建议吗?我看起来分裂字符串,而且措辞真的令人困惑。任何帮助都会得到满足。

3 个答案:

答案 0 :(得分:0)

将网址粘贴到A3中,然后将此公式粘贴到B3中。您可以根据需要调整单元格引用。这是很多嵌套函数,但它可以工作。

=left(right(A3, len(A3)-find("/",A3,find("//",A3,1)+2)),find("=",right(A3, len(A3)-find("/",A3,find("//",A3,1)+2)),1))

答案 1 :(得分:0)

或者您可以在VBA中使用用户定义的函数:

Function RegexExtract(myRange As Range) As String
'VBA Editor, menu Tools - References, add reference to Microsoft VBScript Regular Expressions 5.5
Dim regex As New RegExp, allMatches As MatchCollection

With regex
    .Global = True
    .pattern = "\d+/(.+=)"
End With

Set allMatches = regex.Execute(myRange.Value)

With allMatches
    If .Count = 1 Then
        RegexExtract = .Item(0).SubMatches(0)
    Else
        RegexExtract = "N/A"
    End If
End With
End Function

然后将其用作公式:

=RegexExtract(A1)

答案 2 :(得分:0)

  

我正在尝试解析字符串

为此:

=MID(A1,20,28)  

的工作原理。

现在,如果您有多个字符串,则其他字符串可能不是相同的模式,因此上述内容可能不适用于他们。但在这种情况下,如果要帮助你,我们需要了解一些关于其他人的形状的事情。