Schrift
[thread]8679[/thread]

Teilstring aus String löschen mit reg. exp.

Leser: 3


<< >> 8 Einträge, 1 Seite
Kalmuecke
 2007-01-24 16:29
#73569 #73569
User since
2006-10-14
68 Artikel
BenutzerIn
[default_avatar]
Hi,

habe einen String wie folgt:

Code: (dl )
my $file = "meinedateiname.c ©";


und möchte nun das " ©" mit folgender Reg. Exp. abschneiden bzw. löschen:

Code: (dl )
$file =~ s/\s©//;


Aber er macht es einfach nicht!! Wieso???
Es kann sein, daß nach dem " ©" noch ein Trennzeichen für eine neue Zeile kommt!

Danke im voraus!

edit pq: code-tags hinzugefügt\n\n

<!--EDIT|pq|1169650198-->
renee
 2007-01-24 16:34
#73570 #73570
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Mach mal
Code: (dl )
$file =~ s/\s\(c\)//;
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/
Kalmuecke
 2007-01-24 16:39
#73571 #73571
User since
2006-10-14
68 Artikel
BenutzerIn
[default_avatar]
funktioniert!

Aber was bedeutet: c\ ????
renee
 2007-01-24 16:40
#73572 #73572
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Die runden Klammern sind bei Regulären Ausdrücken Sonderzeichen. Wenn Du das in Deinem Regulären Ausdruck als Literal ("wirkliches Zeichen") haben willst, musst Du diese "escapen"...
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/
Kalmuecke
 2007-01-24 16:42
#73573 #73573
User since
2006-10-14
68 Artikel
BenutzerIn
[default_avatar]
Kannst du mir evt. auhc noch sagen, wie man die Position des letzten Backslash oder eines anderesn Zeichens in einer Zeichenkette herausfindet?

Möchte aus einem Pfad (aber keine FILE-Funktion bitte!) den Dateinamen extrahieren. Und da möchte ich gern dann substring nutzen, brauche aber die Position des letzten Backslashes!!!
renee
 2007-01-24 16:47
#73574 #73574
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
my $index = rindex($string,'\\');
print $index;


(siehe <!--pod_f1--><a href="//perldoc.perl.org/functions/rindex.html" target="_blank"><img alt="perldoc " src="/iB_html/non-cgi/Skin/SKIN-3/images/perldoc.gif" border="0"> <!--pod_f2-->-f rindex<!--pod_f3--></a><!--pod_f4-->)

edit: Was spricht denn gegen CPAN:File::Basename?\n\n

<!--EDIT|renee|1169650157-->
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/
Kalmuecke
 2007-01-24 17:01
#73575 #73575
User since
2006-10-14
68 Artikel
BenutzerIn
[default_avatar]
Danke für deine Tipps!

Quote
edit: Was spricht denn gegen File::Basename?


Ich lese diesen Pfad aus einer Datei aus und da steht neben dem Pfad innerhalb der Zeile noch ne Menge anderer Kram und da wollte ich ungern, daß eine der Funktionen sich da verhäddert!
Insofern möchte ich den String lieber per Hand zerpflücken!
nepos
 2007-01-24 17:33
#73576 #73576
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hm, wenn du den String irgendwie sauber in seine Teile zerlegen könntest, dann kannst du immer noch mit File::Basename weiterarbeiten und musst den ganzen Kram nicht selber bauen.
<< >> 8 Einträge, 1 Seite



View all threads created 2007-01-24 16:29.