Beitrag von Jürgen (614 Beiträge) am Mittwoch, 18.Februar.2004, 11:55.
@Perl-Freaks / String formen
Antworten
Beitrag von hempelr (1976 Beiträge) am Mittwoch, 18.Februar.2004, 12:45.
Re: @Perl-Freaks / String formen
hoha - da haste ja wieder mal ein neckische Problem....
Also auf die Schnelle nur mal der "Blitzgedanke" der mir beim Lesen eingefallen ist:
- generell erst mal in Kleinbuchstaben wandeln
- Dann nachschaun, ob ein Bindestrich drin ist, wenn ja, den Namen dort aufsplitten, die einzelnen Teile des Namens mit Grossbuchstaben beginnen lassen und dann wieder zusammenbauen - wenn nicht, nachschaun, ob ein Leerzeichen zwischen Wortzeichen ist, wenn ja, das gleiche Prozedere wie vor, nur dass halt dann kein Bindestrich zwischen kommt.
Wenn weder Leerzeichen noch Bindestrich einfach nur Anfangsbuchst. gross.
Hoffe, es hilft dir weiter
Ruben
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 18.Februar.2004, 15:57.
Re: @Perl-Freaks / String formen
Nur den 1. Buchstaben in Grossbuchstaben geht so:
$Namepg = ucfirst($Namep);
Wenn $Namep vorher grossgeschrieben sein könnte, dann wie Ruben meinte, vorher kleinwandeln:
$Namepg = ucfirst(lc($Namep));
Das mit den Bindestrichen is n bisschen trickier, vielleicht so:
$Namepg = lc($Namep);
$Namepg =~ s/([a-z]+)/ucfirst($1)/ge;
Antworten
Beitrag von Jürgen (614 Beiträge) am Mittwoch, 18.Februar.2004, 20:43.
Re: @Perl-Freaks / String formen
Hi Ruben, Hi Christoph,
Dank erst mal an euch beide.
Ich werd mich mal damit spielen *ggg*
Nur mal zur Info: Das JUMAS (Judo-Management-System) funzt so weit;-)
Ich hab das Ding jetzt für insgesamt 186 Nationen ausgebaut.
Und die Melden sich wie verrückt an, aber erkläre mal einem
Koreaner..., dass er nicht alles(Name u. Vorname) Groß schreiben soll :-)
Wenigstens klappt das mit den Sonderzeichen "Gott sei Dank" ;-)
Stell dir mal den Kauderwelsch in meine DB vor, wenn die mit ihren
Zeichensatz da rein würgen würden :-))
Na gut, ich werd's mal versuchen - Hilfe gibts ja immer im Forum ;-)
Gruß aus Niederbayern
Jürgen
Antworten
Beitrag von Jürgen (614 Beiträge) am Samstag, 21.Februar.2004, 21:10.
Re: @Perl-Freaks / String formen
Antworten
Beitrag von Jürgen (614 Beiträge) am Samstag, 21.Februar.2004, 22:40.
Re: @Perl-Freaks / String formen
Hi ;-)
also, ich bin beim basteln auf diese Variante gekommen:
<perl>
$name="wIlLi klAus MeYertt";
$namesmall = lc($name); # alles in Kleinbuchstaben formen
if ($namesmall=~ m/-/){$status="yes";}else{$status="no";} # überprüfen ob Bindestrich vorhanden
if ($status eq "yes")
{
foreach (split("-",$namesmall))
{
$nameok.=ucfirst."-"; }
chop $nameok; # leerzeichen weg
$nameok=~ s/ (.)/" ".uc($1)/egi;
out "$nameok";
}
if ($status eq "no")
{
foreach (split(" ",$namesmall))
{
$nameok.=ucfirst." "; }
chop $nameok; # leerzeichen weg
$nameok=~ s/ (.)/" ".uc($1)/egi;
out "$nameok";
}
</perl>
Sicher, ist nicht die eleganteste Version, aber es funzt! *ggg*
Voraussetzung ist, dass das Feld name nur den Bindestrich zu lässt.
Fang ich so ab:
$emsg.="Name enthält Sonderzeichen" if ($_put{name}=~ /[^\w -]/);
Wer hat was besseres für mich ;-) Danke.
Gruß
Jürgen
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Sonntag, 22.Februar.2004, 09:18.
Re: @Perl-Freaks / String formen
Antworten
Beitrag von Jürgen (614 Beiträge) am Sonntag, 22.Februar.2004, 10:48.
Re: @Perl-Freaks / String formen
Hi Chrishoph,
oooh, dat hab ich vergessen ;-) Sorry.
Deine Variante ist um einiges kleiner ;-)
Na ja, geschadet hat es mir sicher auch nicht,
etwas rum zu probieren in perl.
Danke noch mal.
Gruß
Jürgen
Antworten