fixle: ersetzen von ' durch "

Hi
ich habe ein Problem
ich muss ein ' durch ein " ersetzen ... bekomms einfach nicht hin.
vielen dank schonmal für eure Hilfe

  1. Hallo fixle!

    bekomms einfach nicht hin. ...

    ist keine Fehlerbeschreibung, was hast Du versucht?

    my $str = "ich bin ein 'string' mit \"double quotes\"";  
    $str =~ s!'!"!g;  
    print $str;
    

    ^geht problemlos...

    Viele Grüße aus Frankfurt/Main,
    Patrick

    --

    _ - jenseits vom delirium - _
    [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
    Nichts ist unmöglich? Doch!
    Heute schon gegökt?
    1. Hallo fixle!

      bekomms einfach nicht hin. ...

      ist keine Fehlerbeschreibung, was hast Du versucht?

      my $str = "ich bin ein 'string' mit "double quotes"";

      $str =~ s!'!"!g;
      print $str;

      
      >   
      > ^geht problemlos...  
      >   
      >   
      >   
      >   
      > Viele Grüße aus Frankfurt/Main,  
      > Patrick  
        
      vielen dank...  
        
      mhm ok ich hatte es auch so inetwa versucht mit  
      $str =~ tr/'/"/;  
      aber das hat irgendwie nicht geklappt, so tuts obwohls mir leider mein Syntaxhighlighting versaut dadurch... ( im mcedit)  
      vielen dank jetzt gehts wenigsten :-)
      
      1. Hallo fixle!

        Dann probiers halt so
        $string = "ich bin ein 'string' mit "double quotes"";
        $new_string = str_replace(""","'",$string);

        print $new_string;

        1. Hallo Robert!

          $new_string = str_replace(""","'",$string);

          Und was macht Deine eigene Subroutine »str_replace«? ;)

          Oder hast Du beim Lesen des Titels ein str_replace("ERL","HP",$Kategorie) gemacht? ;)

          Viele Grüße aus Frankfurt/Main,
          Patrick

          --

          _ - jenseits vom delirium - _
          [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
          Nichts ist unmöglich? Doch!
          Heute schon gegökt?
      2. Hallo fixle!

        mhm ok ich hatte es auch so inetwa versucht mit
        $str =~ tr/'/"/;
        aber das hat irgendwie nicht geklappt,

        tr///; ist eine Transliteration.
        Die Substitution (Ersetzung) wird durch s///; erreicht.

        Viele Grüße aus Frankfurt/Main,
        Patrick

        --

        _ - jenseits vom delirium - _
        [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
        Nichts ist unmöglich? Doch!
        Heute schon gegökt?
  2. Hi!

    ich muss ein ' durch ein " ersetzen ...

    Das geht ganz bestimmt in Perl, denn u.a. für solche Sachen ist es gebaut worden.

    Ich tippe _vorsichtig_ darauf, das Du bei Deinem Versuch keine oder eine falsche Maskierung benutzt hast.

    bekomms einfach nicht hin.

    Womit hast Du es nicht hinbekommen?

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
  3. ich muss ein ' durch ein " ersetzen ... bekomms einfach nicht hin.
    vielen dank schonmal für eure Hilfe

    Du verstehst also Reguläre Expressions nicht.
    Dir fehlt also die richtige Dokumentation.
    http://perldoc.perl.org/perlre.html

    $string =~ s/A/B/;

    ersetzt genau das erste A durch ein B

    $string =~ s/A/B/g;

    Ersetzt alle A durch B.

    mfg Beat

    --
    ><o(((°>          ><o(((°>
       <°)))o><                      ><o(((°>o