perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 40
Click for quality!




10.02.2012 / 09:34

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragRefine: letztes Vorkommen bei s///
Seitenanfang
Danke für die Antwort,
ich suche eine allgemeinere Lösung, die auch funktioniert bei:

$suche="abcabc abc defg";

ergebnis:
abcabc xyz defg

Gruß, David

Datum: 03.05.2006-11:06

Beitragre: Refine: letztes Vorkommen bei s///
Seitenanfang
Hallo David,

Da kriegst Du ziemlich sicher Schwierigkeiten mit dem Greedy Match Verhalten der Regular Expressions (immer den groessten Match nehmen).

Wenn das Muster eindeutig ist (z.B. ' abc'), geht Folgendes:

$suche =~ s/ abc/ xyz/;

Was ist aber mit

$suche="abcabcabcdefg";

?

Da wuerde ich mir mit split behelfen und am Ende wieder Alles zusammenfuegen, z.B.:

@x = split/abc/, $suche;
...
$suche = $x[0].$x[1].'xyz.$x[3];

Gruss, Michael

Datum: 03.05.2006-12:58

Beitragre: Refine: letztes Vorkommen bei s///
Seitenanfang
Nicht schön, aber funktioniert:

use strict;

my $string = "jklabcabcdefabcdef";
my $search = "abc";
my $insert = "xyz";

$string = reverse( $string );
$search = reverse( $search );
$insert = reverse( $insert );

$string =~ s/($search)/$insert/;

$string = reverse( $string );

print "$string\n";

Datum: 03.05.2006-13:14

-






-
-