Schrift
[thread]8244[/thread]

Probleme beim string auseinander nehmen



<< >> 4 Einträge, 1 Seite
Gast Gast
 2006-08-18 05:12
#68989 #68989
Moin Comuity...
ich habe ein kleinen IRC Bot geschrieben, nun kommt mein Problem
er soll aus diesem String:
Angreifer: (ETA5) 13:10 - 25:1 - 69:4 - 69:5 - 241:5 - 273:3

mir die 13:10 25:1 usw ausgeben aber nur diese Teile...

und von dem hier:
Angreifer: (ETA7) 51:10,(ETA8) 114:6
das gleiche.. allerdings kann es sein das er immer anders ist aber in einem dieser formate ist er.

Bis jetzt habe ich es so gelöst:


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$text =~ s/[a-z]| //gi;
$text =~ s/-/\n /g;
$text =~ s/[.?\!\"\;_] //g;

my @Adresse = split(/,/,$text);
my $eta;
# my $inc = $Adresse[2];
my $i = 0;
# my $ii = 0;
for(@Adresse) {
if ($i == 0) {
$eta = substr($Adresse[0],4,50);
main::irc_say($remotenick,$eta);
} else {
$eta = substr($Adresse[$i],3,50);
main::irc_say($remotenick,$eta);
}
$i++;
}



Allerdings bekomme ich bei diesem Code nur dieses gesplittet so wie ich es brauch:
Angreifer: (ETA7) 51:10,(ETA8) 51:10

Wäre Super wenn mir einer dabei helfen könnte..

MfG
Waterball
topeg
 2006-08-18 07:49
#68990 #68990
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Versuch mal das:
Code: (dl )
my @Adresse=$text=~/\d+:\d+/gs
renee
 2006-08-18 10:13
#68991 #68991
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du musst das auch noch "einfangen":
Code: (dl )
my @adressen = $text =~ /(\d+:\d+)/gs;
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/
topeg
 2006-08-19 00:04
#68992 #68992
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Nicht nötig.
Probier es aus:
Code: (dl )
1
2
3
4
#!/usr/bin/perl
my $s='12:22 (test)125:715 183:107 Noch was 971:821 9821:417 "BlaBla"';
my @l=$s=~/\d+:\d+/gs;
print join('; ', @l)."\n";

das "catchen" ist nur nötig wenn du längere SuchRegExp hast und nur Teile daraus willst.
Beispiel:
Code: (dl )
1
2
3
4
#!/usr/bin/perl
my $s='Das ist ein kleiner txt, aus dem ich mir raus suche, um etwas zu testen';
my @l=$s=~/s\s+(\w+)/gs;
print join('; ', @l)."\n";
<< >> 4 Einträge, 1 Seite



View all threads created 2006-08-18 05:12.