User Tools

Site Tools


vba:functions:parsecsvline

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vba:functions:parsecsvline [12.01.2016 14:34:34]
yaslaw
vba:functions:parsecsvline [18.01.2016 10:22:17] (current)
yaslaw
Line 12: Line 12:
 //==Version %%version%% %%vdate%%== //==Version %%version%% %%vdate%%==
 {{%%fname%%|Download %%fname%% (V-%%version%%)}} {{%%fname%%|Download %%fname%% (V-%%version%%)}}
 +
 +===== Definition =====
 +<​code>​Array<​String>​ = parseCsvLine(line [,​delemiter[,​quote [,​trim]]])</​code>​
 +<code vb>​Public Function parseCsvLine( _
 +        ByVal iLine As String, _
 +        Optional ByVal iDelemiter As String = ";",​ _
 +        Optional ByVal iQuote As String = "'""",​ _
 +        Optional ByVal iTrim As Boolean = True _
 +) As String()</​code>​
 +  ***iDelemiter** Zeile
 +  ***iDelemiter** Delemiter für dieFleder: Standars: ;
 +  ***iQuote** Textbegrenzungszeichen Standard: ' unn "\\ Einer von beiden. Derjenige der Zuserst kommt, ist für die ganze Zeile gültig\\ ​  Der Wert muss aus einzelnen Zeichen bestehen, di im Pattern in [] gesetzt werden
 +  ***iTrim** Flag, ob die Werte getrimmt werden sollen ​  ​Standard:​ true
 +
 +  ***return** Array<​String>​
 +
 +
 +===== Beispiele =====
 +
 +> Für die Ausgabe der Resultate verwendete ich die Funktion [[:​vba:​functions:​print_r:​]].
 +<code vb>
 +d parseCsvLine("​123;​abc;'​def;​ghi';;;​0.12;"​)
 +<​String()> ​ (
 +    [0] => <​String>​ '​123'​
 +    [1] => <​String>​ '​abc'​
 +    [2] => <​String>​ '​def;​ghi'​
 +    [3] => <​String>​ ''​
 +    [4] => <​String>​ ''​
 +    [5] => <​String>​ '​0.12'​
 +    [6] => <​String>​ ''​
 +)
 +
 +'Mit ""​ als Quote mit Trim
 +d parseCsvLine("""​abc;'​def'​ "";​0.12"​)
 +<​String()> ​ (
 +    [0] => <​String>​ '​abc;'​def''​
 +    [1] => <​String>​ '​0.12'​
 +)
 +'Mit ' Als Quote und ohne trim
 +d parseCsvLine("'​abc;""​def ""';​0.12",,,​false)
 +<​String()> ​ (
 +    [0] => <​String>​ '​abc;"​def "'​
 +    [1] => <​String>​ '​0.12'​
 +)
 +
 +'Mit dem Setting Delemiter = # Quote = '
 +d parseCsvLine("​12#""​abc#​def""#'​ghi#​jk'","#",​ "'"​)
 +<​String()> ​ (
 +    [0] => <​String>​ '​12'​
 +    [1] => <​String>​ '"​abc'​
 +    [2] => <​String>​ '​def"'​
 +    [3] => <​String>​ '​ghi#​jk'​
 +)</​code>​
  
 ===== Code ===== ===== Code =====
 <source '​%%fpath%%/​%%fname%%'​ vb> <source '​%%fpath%%/​%%fname%%'​ vb>
vba/functions/parsecsvline.1452605674.txt.gz · Last modified: 12.01.2016 14:34:34 by yaslaw