Klaus-R-Schmidt: regular expression - denksportaufgabe :)

hallo zusammen,

ich hab ne kleine denksportaufgabe bekommen und finde keine lösung.
möglicherweise (das vermute ich schon bald) gibt es gar keine ;)

es soll nämlich per preg_replace (und NUR damit) ein unterstrich mit nachfolgendem text bis zum punkt gelöscht werden.

der string lautet: schoenen_gruss_vom.weihnachtsmann

jetzt soll mit preg_replace das "_vom" gelöscht werden, sodass "schoenen_gruss.weihnachtsmann" da steht.
und das soll mit _jedem_ string in dieser art funktionieren (also buchstaben abklappern is nicht) :))

sobald ich \w+ in meiner regex drin habe, findet er sofort das gesamte wort (ist ja auch normal bei den unterstrichen). ich habe es noch nicht geschafft, die suche vor dem zweiten unterstrich anzuhalten :(

hat jemand von euch ne idee?

  1. Hallo,
    probiere mal
    preg_replace("/(.*)_[^.]*(.*)/", "\1\2", $deinString);

    Grüße
    Thomas Mell

    1. Hallo,
      probiere mal
      preg_replace("/(.*)_[^.]*(.*)/", "\1\2", $deinString);

      Grüße
      Thomas Mell

      hi,

      ich bin verblüfft!! wie einfach das sein kann. ich habe das mit hinten-durch-den-rücken-in-den-magen versucht :))

      vielen dank dafür! :))

      gruß
      Klaus