Wie macht man am besten das erste Zeichen upper case?
Cruz
- perl
0 Beate Mielke0 Cruz
0 Frank Schönmann0 Cruz
Hallo RegExp Experten,
wie macht man eigentlich am besten das allererste Zeichen eines Strings zum upper case?
$string =~ s/^(.)/uc($1)/;
bringt es irgendwie nicht, weil dann am Anfang des Strings tatsächlich "uc(buchstabe)" steht. Ich schätze mal man kann keine Anweisungen in einer RegExp ausführen.
Aber braucht so eine kleine Operation tatsächlich mehr als einen Befehl?
Ich bin sicher, daß es einen kurzen und schmerzlosen Weg gibt. Wer es weiß, bitte hier posten.
Gruß und Dank
Cruz
Hallo RegExp Experten,
wie macht man eigentlich am besten das allererste Zeichen eines Strings zum upper case?
$string =~ s/^(.)/uc($1)/;
bringt es irgendwie nicht, weil dann am Anfang des Strings tatsächlich "uc(buchstabe)" steht. Ich schätze mal man kann keine Anweisungen in einer RegExp ausführen.
Aber braucht so eine kleine Operation tatsächlich mehr als einen Befehl?Ich bin sicher, daß es einen kurzen und schmerzlosen Weg gibt. Wer es weiß, bitte hier posten.
Gruß und Dank
Cruz
Hi Cruz,
ab Perl 5:
$string = ucfirst($string);
Gruss
Beate Mielke
ab Perl 5:
$string = ucfirst($string);
Gruss
Beate Mielke
Jau so geht's vielen Dank!
hi!
wie macht man eigentlich am besten das allererste Zeichen eines Strings zum upper case?
$string =~ s/^(.)/uc($1)/;
bringt es irgendwie nicht, weil dann am Anfang des Strings tatsächlich "uc(buchstabe)" steht. Ich schätze
mal man kann keine Anweisungen in einer RegExp ausführen.
Die Lösung hast du ja schon von Beate erhalten, aber hier noch eine Anmerkung: Perl-Anweisungen in
regulären Ausdrücken sind möglich, dazu musst du aber den Parameter "e" mit angeben. Würde aus
obiger Zeile folgendes machen:
$string =~ s/^(.)/uc($1)/e;
bye, Frank!
Perl-Anweisungen in
regulären Ausdrücken sind möglich, dazu musst du aber den Parameter "e" mit angeben. Würde aus
obiger Zeile folgendes machen:
$string =~ s/^(.)/uc($1)/e;bye, Frank!
Cool Danke für den Tipp!
Ciao
Cruz