dobra: regex Frage zu Groß/Kleinschreibung

Hallo,

Kann mir bitte jemand helfen, wie ich alle Großbuchstaben *AB DEM 2. BUCHSTABEN* durch Kleinbuchstaben ersetzen kann?

mit $wort = lc $wort; (oder auch $wort =~ tr/[A-Z]/[a-z]/;) wird ALLES klein

Ich möchte aber, dass BLABLA mit "Blabla" ersetzt wird - blabla soll unverändert bleiben.
(also das Gegenteil von lcfirt -> nicht NUR den 1 Buchstaben ersetzen, sondern den 1. Buchstaben NICHT ersetzen, alle anderen schon)

Google ist zwar meistens mein Freund, aber diesmal hat er keine Lösung für mich ausgespuckt :(

Danke schon mal im Voraus
dobra

  1. Hi dobra,

    Wie wäre es hier mit?

      
      
    $str =  ucfirst( lc( $str ) );  
      
    
    

    MfG
    Otto

    1. Hi Otto,

      Gut ist nur die halbe Lösung. Die Funktion substr wird dir weiterhelfen.

      MfG
      Otto

  2. Hab die (eine) Lösung gefunden :)

    Weiß zwar nicht, ob die Schreibweise korrekt ist, aber so funktioniert's bei mir:
    if ($w =~ m/[1]/) {$w = lc $w; $w = ucfirst $w;}


    1. A-Z ↩︎

    1. Hi dobra,

      Hab die (eine) Lösung gefunden :)

      Weiß zwar nicht, ob die Schreibweise korrekt ist, aber so funktioniert's bei mir:
      if ($w =~ m/[1]/) {$w = lc $w; $w = ucfirst $w;}

      Und wie sieht es bei dem Wort aus: aUTO?

      MfG
      Otto


      1. A-Z ↩︎

  3. Kann mir bitte jemand helfen, wie ich alle Großbuchstaben *AB DEM 2. BUCHSTABEN* durch Kleinbuchstaben ersetzen kann?

    Ich kann zwar kein Perl, aber für Fußgänger:

    $ende = alles_nach_dem_ersten_buchstaben_kopieren($wort)
    $kleinesende = lc $ende

    $ersterbuchstabe = ersten_buchstaben_kopieren($wort)

    $wort = ersterbuchstabe + $kleinesende

    (Geht natürlich auch in einer einzigen Zeile.)

    Google ist zwar meistens mein Freund, aber diesmal hat er keine Lösung für mich ausgespuckt :(

    Vielleicht beim Programmieren gelegentlich mal selber denken?

  4. Kann mir bitte jemand helfen, wie ich alle Großbuchstaben *AB DEM 2. BUCHSTABEN* durch Kleinbuchstaben ersetzen kann?

    Können tust du es ja.
    Jetzt brauchst du nur noch jene Glaskugelintelligenz, dass dies auch richtig angewendet wird.
    Hier ein paar Beispiele:
    "Mediengrösse 100 MB"
    "Mitglied der RAF"

    Und dann noch
    "

    (also das Gegenteil von lcfirt -> nicht NUR den 1 Buchstaben ersetzen, sondern den 1. Buchstaben NICHT ersetzen, alle anderen schon)

    "

    Wobei weder "Nur" noch "Nicht" in dem Kontext orthographisch korrekt wären.

    Ich fürchte, wenn du SHOUTER disziplinieren willst, musst du anders vorgehen (Hausbesuch, Holzhammer).

    Hättest du im Zusammenhang mit Javascript und getSelection gefragt, hätt ich mir ja was sinnvolles vorstellen können. Aber Perl läuft nun mal (noch) nicht im Standard Browser.

    Ach ja:
    Hausbesuch, Holzhammer!

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische