Zeichen inm String umwandeln wenn nicht vor min2 Großbuchst.

  • Hallo!

    Ich habe mich dumm und dämlich gesucht aber komme nicht auf die Lösung.

    Wie wandele ich in einem String ein "_" in ein " " um wenn dem "_" ein Groß- und Kleinbuchstaben fogen und lasse das "_" stehen wenn nur Großbuschstaben folgen?

    Bsp.:

    Aus 20.01.2007-PP_AA_RR_TT_YY_bei_Frank.
    soll 20.01.2007-PP_AA_RR_TT_YY bei Frank.
    werden.

    Hat jemand eine Idee? Ich bekomme immer nur alle "_" weg.

    Dankeschön!
    Frank

  • tja... das kommt jetzt natürlich drauf an wie du deine zeichenkette
    erhältst. aber generell würde des mit der js-funktion "replace" gehen..

    hier mal n kleines beispiel dazu:

    Code
    <script type="text/javascript">
    var vormals = "Elke Hinz";
    var jetzt = vormals.replace(/Hinz/g, "Kunz, geb. Hinz");
    document.write(jetzt);
    </script>

    http://de.selfhtml.org/javascript/objekte/string.htm#replace

  • Erstmal danke für die schnelle Antwort.
    Ich hab mal wieder vergessen die Hälfte zu erwähnen.
    Die Idee hatte ich auch. Bin aber aufgrund der Einträge die ich umwandeln muss auf php und Arrays umgestiegen. Nun wollte ich das halt verinfachen das ich nicht immer explizit angen muss was in was geändert werden soll.
    Also ich lese ein Array aus und bekomme einen String. Diesen will ich nun von einigen "_" befreien und alle die vor mehreren Grossbuchstaben stehn sollen bleiben.

    Gruß, Frank

  • Warum liest du nicht jedes Zeichen mit hilfe von Len in einer Schleife einzeln aus, prüfst das Zeichen über den Ascii wert und löscht es. Die für den Löschvorgang erforderlichen Bedingungen müssen natürlich klar definierbar sein. Du willst das Zeichen bspw. löschen wenn davor ein Punkt steht. Dann legst Du das halt in der Bedingung fest und fertig.

    Bis dann
    Euer HittiSan

  • Hallo!

    Danke für eure Hilfe!
    Das ' $2' hats gebracht! Funktioniert super!

    mfg, Frank