3

我有来自 Javascript 函数调用的一串参数

ITQPopup('100',255,'2932 NTYwNDUwMTA0MDYzMDM);3094 V0FZ','-1909432577',0,0)

正如你所看到的,这是非常糟糕的编码,有 6 个参数被传递

'100'
255
'2932 NTYwNDUwMTA0MDYzMDM);3094 V0FZ'
'-1909432577'
0 
0

我会用“,”(逗号)分割字符串,但我担心第三个参数中可能有逗号。如何拆分这个字符串?

4

3 回答 3

2

去掉括号的内容,用方括号括起来,并使用 JSON 库将其解析为数组。

于 2013-09-17T16:41:31.047 回答
2

您可以使用 RegEx 轻松完成此操作。例如:

Dim input As String = "ITQPopup('100',255,'2932 NTYwNDUwMTA0MDYzMDM);3094 V0FZ','-1909432577',0,0)"
Dim pattern As String = "ITQPopup\('(.*?)',(.*?),'(.*?)','(.*?)',(.*?),(.*?)\)"
Dim m As Match = Regex.Match(input, pattern)
If m.Success Then
    Dim param1 As String = m.Groups(1).Value
    Dim param2 As String = m.Groups(2).Value
    Dim param3 As String = m.Groups(3).Value
    Dim param4 As String = m.Groups(4).Value
    Dim param5 As String = m.Groups(5).Value
    Dim param6 As String = m.Groups(6).Value
End If

如有必要,您可以进一步改进模式,以允许参数之间的空白等。但这是最简单的工作示例。

于 2013-09-17T16:47:32.063 回答
1

您可以使用拆分。

然后要检索您的参数,您只需将列表的前 2 个元素作为您的第 2 个参数。

然后对最后 3 个参数执行相同的操作。

然后所有剩余的可以连接起来给你的第三个参数。

于 2013-09-17T16:47:51.040 回答