Überblick:
Ihre Aufgabe ist es, CSV-Eingaben in einem key=valueFormat zu erfassen und besser zu organisieren (siehe unten).
Eingang:
Immer über stdin . Aufzeichnungen werden immer in der folgenden Form vorliegen key=value:
foo=bar,baz=quux
abc=123,foo=fubar
baz=qwe,abc=rty,zxc=uiop,foo=asdf
- Es wird keine Liste möglicher Schlüssel im Voraus geben, Sie müssen sie im Eingabetext finden.
- Das Ende der Eingabe wird angezeigt
EOF, je nachdem, welche ImplementierungEOFfür Ihr Betriebssystem geeignet ist.
Ausgabe:
In der ersten Zeile Ihrer Ausgabe werden alle Tasten in alphabetischer Reihenfolge aufgelistet (auch wenn es sich bei allen Tasten um Zahlen handelt). Drucken Sie danach jeden Datensatz im selben CSV-Format mit der entsprechenden Nummernüberschrift aus, ohne die aufgelisteten Schlüssel. Für das obige Beispiel wäre die richtige Ausgabe also:
abc,baz,foo,zxc
,quux,bar,
123,,fubar,
rty,qwe,asdf,uiop
FAQ:
- Muss ich mir über falsch formatierte Eingaben Sorgen machen?
- Nein. Ihr Programm kann tun, was es will (eine Ausnahme auslösen, ignorieren usw.), wenn die Eingabe nicht korrekt formatiert ist, z. B. eine Zeile von
foo,bar,baz
- Nein. Ihr Programm kann tun, was es will (eine Ausnahme auslösen, ignorieren usw.), wenn die Eingabe nicht korrekt formatiert ist, z. B. eine Zeile von
- Wie gehe ich mit Sonderzeichen um?
- Sie können davon ausgehen, dass es keine zusätzlichen
,oder=in den Daten, die nicht Teil deskey=valueFormats sind."hat in diesem Wettbewerb keine besondere Bedeutung (obwohl dies in der traditionellen CSV-Version der Fall ist).ist auch in keiner Weise speziell. - Zeilen sollten mit dem folgenden regulären Ausdruck übereinstimmen:
^([^=,]+=[^=,]+)(,[^=,]+=[^=,]+)*$- Daher stimmen sowohl Schlüssel als auch Werte überein
[^=,]+
- Daher stimmen sowohl Schlüssel als auch Werte überein
- Sie können davon ausgehen, dass es keine zusätzlichen
- Was ist
CRLFgegenLF?- Sie können das für Ihre Plattform geeignete Trennzeichen auswählen. Die meisten Sprachen behandeln dies ohne speziellen Begrenzungscode.
- Muss ich nachstehende Kommas ausgeben, wenn die letzten Spalten nicht vorhanden sind?
- Ja. Siehe das Beispiel.
- Sind CSV-Parser oder ähnliche externe Tools zulässig?
- Sie müssen die Daten selbst analysieren.