Hans Wurst: String Transformieren (?) HTTP Request

Hallo @all,

ich sitze seit Stunden an einem Problem, bei dem ich mit meinem Latein am Ende bin, ich hoffe jemand kann mir einen Ansatz geben.

Ich habe einen String, in dem das HTTP Request gespeichert ist:
httpStr = "Anrede_Neu=Herr&Titel_Neu=Dr.&Vorname_Neu=Max&Nachname_Neu=Mustermann&Zusatz_Neu=Musterfirma GmbH&Strasse_Neu=Muster Strasse&HausNr_Neu=124a&PLZ_Neu=12345&Ort_Neu=Muster Stadt&Land_Neu=Deutschland";

Nun möchte ich es gerne aus diesem String, folgenden machen:
httpStrNeu = "Herr|Dr.|Max|Mustermann|Musterfirma GmbH|Muster Strasse|124a|12345|Muster Stadt|Deutschland";

Ich habe es mit RegExp versucht, vergebens!
Es muss so leicht wie möglich sein, also keine zig "replace" Befehle oder so, und keine tausend Schleifen ...

Was wäre hier der richtige Weg?

  1. Was wäre hier der richtige Weg?

    Vorausgesetzt, dein Query wurde richtig urlencoded:
    zwei mal split.
    zuerst auf /&/
    dann auf /=/
    danach urldecode anwenden

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. Vorausgesetzt, dein Query wurde richtig urlencoded:
      zwei mal split.
      zuerst auf /&/
      dann auf /=/
      danach urldecode anwenden

      Danke aber ich denke nicht, dass diese Lösung das hervorbringt, was ich gerne hätte, siehe meinen ersten Post.

      Habe es nun so gelöst, nicht ellegant, aber es Funktioniert:

        
      function showIt() {  
       var repl     = httpStr.replace(/\&/g, "|").replace(/\=/g, "|");  
       var splitter = repl.split("|");  
        
       for(var i=1; i < splitter.length; i+=2) {  
         if(i < 19) httpStrNew += splitter[i] +"|";  
         else httpStrNew += splitter[i];  
       }  
       alert(httpStrNew);  
      }  
      
      
  2. Hello,

    Was wäre hier der richtige Weg?

    ich nehme an man kann es sich zu Nutze machen, dass Parameter/Wert kein = und kein & enthalten. Dann könntest du dir (Syntax habe ich nicht parat) einen regulären Ausdruck bauen, der von
    (optionales &)(beliebige Zeichen)(=)(beliebige Zeichen 2)
    nach
    (|)(beliebige Zeichen 2)
    übersetzt.

    MfG
    Rouven

    --
    -------------------
    sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
    Death is nature's way of telling you to slow down.
    1. Hi,

      ich nehme an man kann es sich zu Nutze machen, dass Parameter/Wert kein = und kein & enthalten.

      Das ist riskant - wenn Du Dir den Beispielstring anschaust, gibt es dort ein Feld Zusatz_Neu=Musterfirma GmbH.

      Laß das mal eine GmbH & Co KG, Mustermann & Co oder ähnliches sein.

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      O o ostern ...
      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. Hello,

        Laß das mal eine GmbH & Co KG, Mustermann & Co oder ähnliches sein.

        hmh, da hast du wohl Recht. Ich ging davon aus, dass die Zeichen maskiert sind.

        MfG
        Rouven

        --
        -------------------
        sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
        Buy when there's blood running in the street and sell when everyone is pounding at your door, clawing to own your equities  --  Wisdom on Wallstreet