Re: @Perl-Freaks / String formen - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    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

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Jürgen (614 Beiträge) am Mittwoch, 18.Februar.2004, 11:55.
    @Perl-Freaks / String formen

      Hi BP-Freaks,

      ich hab mal wieder ein Problem. So, ich habe ein selbst erstelltes
      Eingabe-Form zum schreiben in eine DB.
      Jetzt gibt es da 2 Felder "Name und Vorname".
      Name muß immer in Großbuchstaben umgeformt werden
      (wenn sie es nicht tun;-))- klappt so:

      #### Großbuchstaben umwandeln ####
      $Namepg = uc($Namep);
      

      Jetzt geben immer wieder ein paar Fuzzies bei Vornamen auch in
      Großbuchstaben an. Das darf nicht sein - obwohl immer wieder
      darauf hingewiesen wird - so: Juergen nicht so: JUERGEN
      Wie kann ich das Auffangen, dass der erste Buchstabe Groß und die nachfolgenden
      Buchstaben klein geschreiben werden. Wie kann ich das bei solchen
      Namen formatieren - "Hans-Peter" oder "Hans Georg"??
      Wer hat eine Tip für mich? Danke.

      Gruß
      Jürgen

     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

      Hi Christoph,

      also, ich komm da auf keinen grünen Zweig ;-)
      Ich hab da ein bisschen rum probiert, aber
      bei
      $Namepg =~ s/([a-z]+)/ucfirst($1)/ge;
      
      bekomm ich nichts angezeigt. Hab auch die Variable
      $i getauscht. Brachte nichts ??

      Hat jemand noch eine Idee?? Danke.

      Gruß

      Jürgen

     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

      Ich ,-)

      Hast Du bei meinem Vorschlag die Zeile

      $Namepg=lc($Name);
      

      vergessen? Dann kann natürlich auch nix rauskommen... ;-)

      Es funktioniert nämlich, getestet:

      <perl>
      $Name="hans-otto meier";
      

      $Namepg=lc($Name);
      $Namepg =~ s/([a-z]+)/ucfirst($1)/ge;
      

      out $Namepg;
      </perl>
      

      Ausgabe:

      Hans-Otto Meier

     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


     
 Liste der Einträge von 31800 bis 31950:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.07s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!