2017-02-23 1 views
1

Ich habe einen Master_string, der Werte hat, die aus einer pHp-Datenbank abgerufen werden. Sie sind:Hashtable und String Werte Fehler

{"P":[["5"],["22"]],"AS":[["29"],["34"]],"DT":[["995"],["12"]],"AR":[["23"],["121"]],"SE":[["5"],["22"]]} 

und nach Sonderzeichen zu entfernen, die Saite ist jetzt:

P:5,22,AS:29,34,DT:995,12,AR:23,121,SE:5,22 

Jetzt, wenn ich versuche, dies für einige Werte in eine Hashtable zu konvertieren, sollte es geben Sie mir zwei Werte aber es gibt mir nur eins. Mein Code für diesen Teil ist

Jedes Alphabet ist ein Schlüssel zu seinen Werten danach bis ein anderer Schlüssel gefunden wird. Was ich herausgefunden habe, dass die hashtable result2 nur den ersten Wert speichert und den zweiten ignoriert, irgendeine Idee, warum das passiert?

PS: die Antwort in result2 sollte etwas sein wie:

P = {5, 22} 
AS = {29, 34} 
DT = {995, 12} 
SE = {5, 22} 

Antwort

3

Ihre Werte , zwischen den Ziffern enthalten, so dass Sie sie beachten müssen, mit

([A-Z]+):(\\d+(?:,\\d+)*)

([A-Z]+):: erfassen eine oder mehr Alphabete und entsprechen : Zeichen

(\\d+(?:,\\d+)*): \\d+ ein oder mehr Ziffern

  • (?:,\\d+)** null oder mehr Vorkommen von ,\\d+

Ausgang:

P [5, 22] 
AS [29, 34] 
DT [995, 12] 
AR [23, 121] 
SE [5, 22] 
+1

Sie Sir ist ein Lebensretter, eine dickes Lob an Sie meinen Bruder aus Nachbarland! –

+1

@SaimMahmood danke für die Wertschätzung, ich bin froh, dass ich helfen konnte, glücklich Codierung –

+0

und die Website, die Sie in Ihrer Antwort erwähnt ist sehr nett, danke nochmal! –