Ich habe ein CSV-Format, das ich zu standardisieren versuche, sodass ich es im SQL-Server in einem traditionelleren Sinne über Masseneinfügungen laden kann. Die Herausforderung besteht darin, dass jedes Feld in einem doppelten Anführungszeichen eingeschlossen werden kann, wenn das Feld das Trennzeichen als Zeichen dafür enthält, dass es maskiert werden soll.Regex-Ausdruck zum Ersetzen von Begrenzern mit optionalen Textqualifizierern
Ich versuche im Wesentlichen einen Regex-Ausdruck zu konstruieren, um die Trennzeichen und Textqualifizierer zu finden, die ich dann verwenden kann, um zu ersetzen, was gefunden wird, mit einem anderen Text, z. <FIELDST>
so werden alle Felder für einfaches Laden standardisiert.
Insbesondere können Zeilen kommen in als solche:
f1,f2,"Company A Containing Comma,Ltd",f3,23,abc
f1,f2,Company B Without Comma,f3,23,"de,f"
Gewünschtes Ergebnis: Ersetzen Sie alle mit unbekannt regulären Ausdruck mit <FIELDST>
gefundenen Werte zu erzeugen:
f1<FIELDST>f2<FIELDST>Company A Containing Comma,Ltd<FIELDST>f3<FIELDST>23<FIELDST>abc
f1<FIELDST>f2<FIELDST>Company B Without Comma<FIELDST>f3<FIELDST>23<FIELDST>de,f
Leider I haven‘ Ich hatte viel Glück, also wäre jede Hilfe großartig!
Vielleicht ist ein CSV-Parser besser als Regex für diesen Job? –