3

Javascript 関数呼び出しからのパラメーターの文字列があります

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

ご覧のとおり、これは非常に不十分なコーディングであり、6 つのパラメーターが渡されています。

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

文字列を「,」(コンマ) で分割しますが、3 番目のパラメーターにコンマが含まれている可能性があります。この文字列を分割するにはどうすればよいでしょうか。

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 つのパラメーターについて同じことを行います。

次に、残りのすべてを連結して 3 番目のパラメーターを与えることができます。

于 2013-09-17T16:47:51.040 に答える