Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5813[/thread]

suchen und ersetzen

Leser: 1


<< |< 1 2 >| >> 16 Einträge, 2 Seiten
Robby
 2003-10-13 15:15
#62646 #62646
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
Hallo,

wie kann ich denn mit perl in einer Textdatei gleichzeitig mehrer Buchstaben ersetzen?

Bsp. Ich möchte aus

Hallo erstmal -> Texxq uopimex

machen.

Also l und x tauschen usw.

Geht das und wie stelle ich sicher, dass dies gleichzeitig geschiet und nicht zuerst a nach e und danach e nach u ersetzt wird???

(Ich hoffe ihr wisst ungefähr was ich meine :D )

Gruß
Robby
Kaum macht man es richtig - schon funktioniert es!
steinwolf
 2003-10-13 15:38
#62647 #62647
User since
2003-08-04
367 Artikel
BenutzerIn
[default_avatar]
$string = "abc";

$string =~/abc/xyz/si;

#$string ist nun "xyz"
"Did you know? You can use your old motor oil to fertilize your lawn." - Blinkster - Professionelles EDV Forum
renee
 2003-10-13 15:39
#62648 #62648
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
my $string = 'Hallo';
$string =~ tr/al/ex/; # ersetzt a durch e und l durch x
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/
Strat
 2003-10-13 15:43
#62649 #62649
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=steinwolf,13.10.2003, 13:38]$string = "abc";

$string =~/abc/xyz/si;

#$string ist nun "xyz"[/quote]
@Steinwolf: tr vergessen?
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
C:\>perl
$string = "abc";

$string =~/abc/xyz/si;
Bareword found where operator expected at - line 3, near "/abc/xyz"
(Missing operator before yz?)
^Z
syntax error at - line 3, near "/abc/xyz"
Execution of - aborted due to compilation errors.

C:\>
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Robby
 2003-10-13 15:49
#62650 #62650
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
*gehtLichtauf*

Danke!
Kaum macht man es richtig - schon funktioniert es!
havi
 2003-10-13 16:01
#62651 #62651
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Statt tr kannst du auch s verwenden...
renee
 2003-10-13 16:04
#62652 #62652
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
wenn Du aber
Code: (dl )
$string =~ s/al/ex/g;
machst, dann passiert folgendes:
Code: (dl )
1
2
3
$string = 'Hallo';
$string=~ s/al/ex/g;
print $string; # jetzt ist $string = 'Hexlo' und nicht 'Hexxo'
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/
pq
 2003-10-13 16:38
#62653 #62653
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=havi,13.10.2003, 14:01]Statt tr kannst du auch s verwenden...[/quote]
1. nö =)
2. tr/// ist schneller
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Strat
 2003-10-13 16:59
#62654 #62654
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
@havi: y ist es, was anstelle von tr auch funktioniert.
tr/// uebersetzt buchstabenweise und arbeitet nicht mit regulaeren ausdruecken (auch wenn buecher es gerne zu m/.../ und s/.../.../ schieben; aber es ist was voellig anderes, auch wenn es aehnlich aussieht)
s/// ersetzt einen regulaeren ausdruck durch irgendwas\n\n

<!--EDIT|Strat|1066050034-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
havi
 2003-10-13 17:34
#62655 #62655
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Oh, sorry wegen der Falsch-Information! Na klar...

Gruss
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2003-10-13 15:15.