1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
BEGIN {
FALSE = 0
TRUE = 1
fpat[1] = "([^,]*)|(\"[^\"]+\")"
fpat[2] = fpat[1]
fpat[3] = fpat[1]
fpat[4] = "aa+"
fpat[5] = fpat[4]
data[1] = "Robbins,,Arnold,"
data[2] = "Smith,,\"1234 A Pretty Place, NE\",Sometown,NY,12345-6789,USA"
data[3] = "Robbins,Arnold,\"1234 A Pretty Place, NE\",Sometown,NY,12345-6789,USA"
data[4] = "bbbaaacccdddaaaaaqqqq"
data[5] = "bbbaaacccdddaaaaaqqqqa" # should get trailing qqqa
for (j = 1; j in data; j++) {
printf("Splitting: <%s>\n", data[j])
n = patsplit(data[j], fields, fpat[j], seps)
print "n =", n
for (i = 1; i <= n; i++)
printf("fields[%d] = <%s>\n", i, fields[i])
for (i = 0; i in seps; i++)
printf("seps[%s] = <%s>\n", i, seps[i])
}
}
|