RegExp

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • RegExp

    Tachchen!

    Nehmen wir mal an, ich habe folgende Ausgabe:

    ... bla {layout}test{/layout} blubb ...

    Nun möchte ich mittels RegExp 1) den Inhalt von {layout} zur Weiterverarbeitung auslesen und zweitens dat Dingens anschließend löschen.

    Wie stell ich das an?

    Danke!

  • #2
    Schön dass du das möchtest.

    Wie stell ich das an?
    Ich würd sagen du schreibst einen RegEx.

    Mal ernsthaft: Ansätze? Oder willst du das wir deine Arbeit für dich machen? Falls ja, was zahlste?
    Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

    Kommentar


    • #3
      Re: RegExp

      Du kannst als zweiten Parameter fuer RegExp.replace nicht nur eine Zeichenkette angeben, sondern stattdessen auch die Referenz auf eine "Callback"-Funktion. Diese bekommt dann ein Array mit den Suchtreffern uebergeben (und dort kannst du den Wert auslesen und dir irgendwo "zwischenspeichern"), und bestimmt ueber ihren Rueckgabewert, womit der Suchtreffer ersetzt wird (das kann auch ein Leerstring sein, und dadurch den Treffer aus der Ergebniszeichenkette "loeschen").
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        @wahsaga: Das mit dem Call Back klingt gut. Habe ich gleich mal umgesetzt. Das Problem was ich halt jedoch habe ist die Erstellung der RegExp, und zwar krieg ich das Problem mit der Wildcard nicht geregelt. Laut Google soll das ja * sein, aber weder {layout}*{/layout} noch irgendeine Variante mit escapeten Zeichen funktioniert.

        Wie muss die RegExp denn richtig aussehen!?

        Danke schonmal

        Kommentar


        • #5
          * ist ein Quantifier und bedeutet "0 mal oder mehrmals"... welches Zeichen hast du ihm aber nicht gesagt ... (} ist ja der schluss von einem konkreten quantifier) richtig wäre also (für "beliebiges zeichen 0 mal oder mehrmals"):
          Code:
          .*
          Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

          Kommentar


          • #6
            Für sowas solltest du keine RegExp benutzen. Stringfunktionen können hierbei zielgerichteter genutzt werden und sind ausserdem um ein Vielfaches schneller.

            Kommentar

            Lädt...
            X