Suche Ersetzen-Funktion analog zu ~s / / /g;

format_c

Grünschnabel
Such eine Funktion die z.B. aus einer Variable alle Stellen mit einem Doppelpunkt durch ein Ganzen Satz ersetzt.

Es gibt da ja folgendes
Code:
$text=~s/:/Satz/g;

Aber irgendwie hat die Funktion es nicht so mit Leerzeichen.
Deshalb suche ich eine Alternative vielleicht ein Befehl wie
Code:
replace($text,":","Satz");

Kennt jemand da etwas?;)
 
s/:/satz/g;
hat probleme mit Leerzeichen???

Also ich hatte damit noch nie Probleme! Probleme kanns geben wenn dein Satz Zeichen enthält, die reguläre Ausdrücke sind. Also z.B. ". / \ [ ] ( )" und noch ein paar, die mir aber net alle spontan einfallen wollen... :)

Mein tipp wäre, das du anstatt den Satz direkt einzutippen dafür eine Variable verwendest. und diese wie folgt definierst;
Code:
$variable = quotemeta("Dein Satz steht Hier!");
Quotemeta kommentiert alle regulären Ausdrücke aus einem String raus, damit ist dann der gebrauch des Satzes in einer konstruktion wie bei s///; problemlos möglich!

So sollte es eigentlich keine Probleme geben! :)

Achso, was vielleicht auch sein könnte:
Wenn du diesen Text hast:
Code:
Hallo mein Name ist: Sven.
und ersetzt in diesem mit
Code:
s/:/LaLaLa/g;
kommt hinten dabei dann das raus:
Code:
Hallo mein Name istLaLaLa Sven

vielleicht hast du da das nicht ganz bedacht? ;)
 
Zurück