Key-Value-String unterteilen
stefanho
- java
Hallo zusammen,
mein String hat folgendes Format:
key="value",key2="value2".
Dummerweise kann value sowohl = als auch " und , enthalten. Keine dieser zeichen werden escaped.
Ich habe leider keinen Einfluss auf das Format oder die Benutzereingaben.
Hat jemand eine Idee, wie man das Problem angehen könnte? Ich bin momentan etwas ratlos...
Stefan
Hi,
Ich habe leider keinen Einfluss auf das Format oder die Benutzereingaben.
Hat jemand eine Idee, wie man das Problem angehen könnte?
leider nicht. Vielleicht wenn Du uns verrätst, warum Du keinen Einfluss darauf hast.
Cheatah
Hi,
Ich habe leider keinen Einfluss auf das Format oder die Benutzereingaben.
Hat jemand eine Idee, wie man das Problem angehen könnte?leider nicht. Vielleicht wenn Du uns verrätst, warum Du keinen Einfluss darauf hast.
Cheatah
Ich muss ein bestehendes System, dass ich nicht entwickelt habe erweitern. Die Klasse die diesen String erzeugt kann ich nicht beeinflussen. Das Formular hat keine Validierungsfunktion die es ermöglichen würde Zeichen wie " oder = zu unterbinden. Ich habe also im wesentlichen diesen String, der irgendwo in einer Datenbank liegt.
Hi,
Ich muss ein bestehendes System, dass ich nicht entwickelt habe erweitern. Die Klasse die diesen String erzeugt kann ich nicht beeinflussen. Das Formular hat keine Validierungsfunktion die es ermöglichen würde Zeichen wie " oder = zu unterbinden. Ich habe also im wesentlichen diesen String, der irgendwo in einer Datenbank liegt.
Du hast zwei Möglichkeiten: Entweder programmierst Du eine künstliche Intelligenz, die bei dem wirren Format ähnlich wie ein Mensch entscheiden kann, was jetzt wozu gehört. Oder Du bringst den Projektverantwortlichen natürliche Intelligenz bei, so dass sie verstehen, dass die bisherige Implementierung grobe Fehler aufweist, die korrigiert werden *müssen*. Letzteres hätte den Vorteil, zu deterministischen Ergebnissen zu gelangen - beim bisherigen Format kann auch ein Mensch nicht immer entscheiden, was jetzt eigentlich die Daten bedeuten.
Cheatah
mein String hat folgendes Format:
key="value",key2="value2".Dummerweise kann value sowohl = als auch " und , enthalten. Keine dieser zeichen werden escaped. (a)
Ich habe leider keinen Einfluss auf das Format oder die Benutzereingaben.
Hat jemand eine Idee, wie man das Problem angehen könnte? Ich bin momentan etwas ratlos...
Geht m.E. nicht.
Deiner Beschreibung (a) zufolge hat
key="value",key2="value2"
zwei Interpretationen. Einerseits können es zwei Wertepaare sein, mit den Schlüsseln key und key2 und den korrespondierenden Werten value und value2, andererseits könnte es sich um ein einziges Paar handeln, mit dem Schlüssel key und dem Wert 'value",key2="value2'.
Du könntest höchstens tricksen, wenn du weißt, dass key und key2 als Schlüssel vorkommen müssen. Aber auch dann könnten Strings vorkommen, die nicht eindeutig derart zerlegbar sind, z.B.
key="value",key2="value2",key2="value2"