Ich bin kein großer Experte in Regexp, deshalb bitte ich Sie vorschlagen, eine effiziente Möglichkeit, diese Zeichenfolge in den Schlüssel = Wert Gruppen zu teilen.Teilen der Zeichenfolge in Schlüssel = Wert Gruppen mit Regex (Java)
Die Eingabestring:
x-x="11111" y-y="John-Doe 23" db {rty='Y453'} code {codeDate='2000-03-01T00:00:00'}
Was ich brauche, ist der Schlüssel-Wert-Paare zu erhalten:
key=x-x, value="11111"
key=y-y, value="John-Doe 23"
key=rty, value='Y453'
key=codeDate, value='2000-03-01T00:00:00'
Meine Lösung ist hier, aber ich fürchte, es ist nicht die einfachste.
String str = "x-x=\"11111\" y-y=\"John-Doe 23\" db {rty='Y453'} code {codeDate='2000-03-01T00:00:00'}";
Matcher m = Pattern.compile("(\\w+-*\\w*)=((\"|')(\\w+(|-|:)*)+(\"|'))").matcher(str);
while(m.find()) {
String key = m.group(1);
String value = m.group(2);
System.out.printf("key=%s, value=%s\n", key, value);
}
Vielen Dank im Voraus für Ihre Hilfe.
Sie die Tasten bestehen immer aus Buchstaben/Ziffern, '_' und' -' Zeichen? –
Schlüssel haben feste Namen: 'x-x', 'y-y', 'rty' und 'codeDate'. Aber im Wert kann ziemlich alles sein .. – ayscha