Schrift
[thread]8414[/thread]

Index Suche ohne Vorzeichen?



<< |< 1 2 >| >> 13 Einträge, 2 Seiten
wandasia
 2006-10-13 15:12
#70756 #70756
User since
2006-09-28
6 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich hab grad ein Problem entdeckt und zwar hab ich die ganze Zeit anscheinend die falschen Positionen bestimmt.

Ich benutze:

Code: (dl )
$pos[$n] = index($suche[$n], "-13-1")


so dieser String soll gefunden werden. davor und dahinter stehen auch Zahlen (manchmal mit manchmal ohne vorzeichen)
Kann man die Position bestimmen ohne dass das Vorzeichen gezählt wird? also nur die Zahlen zählen und dann die Position zurückgeben?

Würdet mir sehr damit helfen

Vielen Dank
wandasia
renee
 2006-10-13 15:16
#70757 #70757
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Kannst Du anhand eines Beispiels vielleicht mal genauer erklären was Du tun willst? Ich werde ehrlich gesagt nicht so ganz schlau aus der Frage.
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/
wandasia
 2006-10-13 15:20
#70758 #70758
User since
2006-09-28
6 Artikel
BenutzerIn
[default_avatar]
ja klar
also ich hab zwei strings zum Beispiel:
-13-4-1-2-3-13-1 und
213-13-1
und will jeweils die Position von -13-1 bestimmen
beim ersten wärs die Position 12 beim zweiten Position 4
das zweite macht genau das was ich will, jedoch das erste zählt auch alle vorzeichen (minus zeichen) als einzelne Position. ich möchte dass beim ersten beispiel string als position 7 zurückgegeben wird..
verständlicher?
ich hoffe
Taulmarill
 2006-10-13 15:33
#70759 #70759
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
meinst du so was?
Code: (dl )
1
2
3
4
5
6
7
8
9
use strict;
use warnings;

my $string = '-13-4-1-2-3-13-1';
my $search = '-13-1';

my $pos = ( split /$search/, $string )[0];
$pos =~ tr/-//d;
print length( $pos ) + 1 . "\n";
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
docsnyder
 2006-10-13 16:22
#70760 #70760
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
... oder so (bei mehrfachem Vorhandensein des Suchstrings):

Code: (dl )
1
2
3
4
5
6
7
8
my $string = '-13-4-1-2-3-13-1-13-4-1-2-3-13-1';
my $search = '-13-1';

pos = -1;

while ( ($pos=index($string, $search, $pos)) > -1 ) {
printf("found at pos %d\n", $pos++);
}


Gruß, Doc
renee
 2006-10-13 16:36
#70761 #70761
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das löst aber nicht das Problem von wandasia. Bei Dir werden die - bei der Positionsbestimmung mitgezählt - und das soll nicht sein...
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/
renee
 2006-10-13 16:46
#70762 #70762
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das hier sollte noch funktionieren:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/perl

my $string = '-13-4-1-2-3-13-1-2-13-1';
my $search = '-13-1';

while($string =~ m/$search/g){
my $substr = substr $string, 0, $+[0]- length $search +1;
$substr =~ tr/-//d;
print length $substr;
}
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/
wandasia
 2006-10-13 16:53
#70763 #70763
User since
2006-09-28
6 Artikel
BenutzerIn
[default_avatar]
danke renee,
habs jetzt so ähnlich gemacht, wie dein erstes beispiel und es funktioniert
vielen Dank
wandasia
renee
 2006-10-13 16:54
#70764 #70764
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Mein erstes Beispiel?? Ich habe nur eins gepostet. Du meinst sicherlich das von Taulmarill, oder?
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/
wandasia
 2006-10-13 19:25
#70765 #70765
User since
2006-09-28
6 Artikel
BenutzerIn
[default_avatar]
upps ja hab mich wohl verguckt trotzdem allen ein dickes dankeschön...:)
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2006-10-13 15:12.