Schrift
[thread]11154[/thread]

Klein- in Großbuchstaben an bestimmten Stellen?



<< >> 6 Einträge, 1 Seite
theresa
 2008-01-17 17:24
#104858 #104858
User since
2007-07-17
90 Artikel
BenutzerIn
[default_avatar]
Wie geht das am Besten? Hab einen String "vorname nachname" und will daraus "Vorname Nachname" machen.

Danke!
renee
 2008-01-17 17:31
#104860 #104860
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Da gibt es mehrere Möglichkeiten:
Code (perl): (dl )
1
2
3
my $string = "vorname nachname";
$string =~ s/\b([a-z])/uc($1)/eg;
print $string;


Code (perl): (dl )
1
2
3
my $string = "vorname nachname";
$string = join " ", map{ ucfirst $_ }split / /, $string;
print $string;


...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
betterworld
 2008-01-17 20:08
#104864 #104864
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
renee+2008-01-17 16:31:38--
Da gibt es mehrere Möglichkeiten:
Code (perl): (dl )
1
2
3
my $string = "vorname nachname";
$string =~ s/\b([a-z])/uc($1)/eg;
print $string;


Das kann man auch kuerzer (ohne /e) schreiben:
Code (perl): (dl )
1
2
3
my $string = "vorname nachname";
$string =~ s/\b([a-z])/\U$1/g;
print $string;

(Das ist wohl mal einer der Fälle, wo \U wirklich praktisch ist...)

Und wenn man dann auch noch Umlaute unterstützen will:
Code (perl): (dl )
1
2
3
4
5
use locale;

my $string = "vorname nachname öhhh";
$string =~ s/\b([[:alpha:]])/\U$1/g;
print $string;
renee
 2008-01-17 20:14
#104865 #104865
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Stimmt, an \U habe ich überhaupt nicht gedacht...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
theresa
 2008-01-18 16:34
#104904 #104904
User since
2007-07-17
90 Artikel
BenutzerIn
[default_avatar]
Läuft prima :) vielen Dank noch mal
ptk
 2008-01-19 13:08
#104926 #104926
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Alternativ kann man auch mit Unicode-Properties arbeiten:
Code: (dl )
1
2
3
4
use encoding 'iso-8859-1';
my $string = "vorname nachname ähhh";
$string =~ s/\b(\p{IsAlpha})/\U$1/g;
print $string;
<< >> 6 Einträge, 1 Seite



View all threads created 2008-01-17 17:24.