Stringersetzung
Wurzelzwerg
- perl
Hallo allerseits,
wie kann ich in Perl möglichst elegant einen Teilstring mit anderen Zeichen umgeben. Es geht dabei um das Hervorheben von Suchbegriffen:
Beispiel: Aus der Zeichenkette
Das ist ein Test.
soll
Das ist ein <b><i><u>Test</u></i></b>.
werden.Am besten noch wahlweise mit und ohne Berücksichtigung von Groß- und Kleinschreibung;)
vielen Dank
Hallo,
versuchs doch mal mit:
my $s='Das ist ein Test';
my $sr='Test';
$s=~s/($sr)/<b>$1</b>/gi;
die Flags solltest du dir für Gross- und kleinschreibung noch mal angucken.
Bert
hi,
wie kann ich in Perl möglichst elegant einen Teilstring mit anderen Zeichen umgeben. Es geht dabei um das Hervorheben von Suchbegriffen
Dafür gibt es mehrere Möglichkeiten. Zu klären ist allerdings, woher dieser Substring kommt - es sieht fast so aus, als ob du ihn aus irgendeinem Formularfeld liest, und dann hast du es sehr einfach, weil er dann sowieso in einer Variablen steckt.
Beispiel: Aus der Zeichenkette
Das ist ein Test.
soll
Das ist ein <b><i><u>Test</u></i></b>.
werden.
Nicht sehr schön (zur Formatierung solltest du auch bei generierten Ausgaben CSS verwenden), aber macht nix. Schematisch kann es so gehen:
if ($string == "das ist ein Test"){
$string_new = "das ist ein <b><i><u>Test</u></i></b>";
print $string_new;
}
bitte, das ist ein Schema, das du natürlich nicht einfach abschreiben kannst.
Wenns nicht klappt, nimmst du halt RegExpressions. Du kannst aber auch einen substring extrahieren und in eine eigene Variable stecken.
Grüße aus Berlin
Christoph S.