Frage : VBA, das eine Linie mit einem Kommaseperator und -anführungsstrich qualifer aufspaltet

Hallo, das
im, das mit diesem spielen und Neigung ausarbeiten, wie man sie, damit eher dann using einen einzelnen Anführungsstrich ("), ich Anführungszeichen verwende (")

Function SplitAdv (strInput)
'< ein href= " http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_21935286.html " > http://www.experts-exchan ge.com/Pro gramming/Languages/Visual_Basic/Q_21935286.html
Dim objRE
Set objRE = CreateObject („VBScript.RegExp“)
objRE.IgnoreCase = True
objRE.Global = True
objRE.Pattern =“, (ändert? = ([^“] * ' [^ '] * ') * (?! [^ ' ] * '))„„benutzt ein“ qualifer
SplitAdv = aufspalten (objRE.Replace (strInput, „\ b“),“ \ b ")
End Function

Sub testingsplit ()
Dim TestString, arrTest, x

TestString = „123, „Bill“, „schaukelt“, „, was, okay Sie rechter““ 'Benutzer sind, den ein einzelner Anführungsstrich qualifer
'this bearbeiten muss:
'TestString = „123, „Bill“, „schaukelt“, „, was, okay Sie rechtes "" 'Benutzer ein einzelner Anführungsstrich qualifer

arrTest = SplitAdv (TestString)

For x = 0 UBound (zum arrTest)
arrTest MsgBox sind (x)
Next
End Sub


obviously, das ich ein einfaches tun könnte, ersetzen (TestString, """",“ '")
however würde ich eher die Funktion aktualisieren, wenn möglich?

nb. dieses ist übertreffen vba

Antwort : VBA, das eine Linie mit einem Kommaseperator und -anführungsstrich qualifer aufspaltet

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
Funktion SplitAdv (strInput)
'http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_21935286.html
Schwaches objRE
objRE = CreateObject („VBScript.RegExp“) einstellen
objRE.IgnoreCase = ausrichten en
objRE.Global = ausrichten en
objRE.Pattern = „, (? = ([^ ""] * "" [^ ""] * "") * (?! [^ ""] * ""))“ 'benutzt ein „qualifer
SplitAdv = aufspaltete (objRE.Replace (strInput, „\ b“),“ \ b ")
Enden-Funktion

Vortestingsplit ()
Schwaches TestString, arrTest, x

'TestString = „123, „Bill“, „schaukelt“, „, was, okay Sie rechter““ 'Benutzer ein einzelner Anführungsstrich qualifer sind
'dieses muss arbeiten:
TestString = „123, "" Bill "", "" schaukelt "", das "", was, okay Sie rechtes """ 'Benutzer ein Anführungszeichen qualifer sind

arrTest = SplitAdv (TestString)

Für x = 0 zu UBound (arrTest)
   MsgBox arrTest (x)
Zunächst
Enden-Unterseeboot
Weitere Lösungen  
 
programming4us programming4us