Seite 1 von 1

Position eines Chars im String herausfinden.

Verfasst: Montag 22. Juni 2009, 12:54
von phill
Hallo Leute,

ich hab mal eine Frage und zwar gibt es eine möglichkeit die Position eines Chars in einem Zielstring auszugeben?

Also zb:

ich such nach "ABCD"

in dem string asdABCDadsfhoüadfgouihsdfoijiaugfuergjigaudfg

nun sollte mir die funktion einfach den int 4 wiedergeben.

Habe dazu im Netz leider nix gefunden und bvor ich mich selber ran mache wollt ich mal fragen ob nich doch jmd was weiss.


Gruß Phill

Verfasst: Montag 22. Juni 2009, 12:56
von EyDu

Code: Alles auswählen

>>> "asdABCDadsfhoüadfgouihsdfoijiaugfuergjigaudfg ".index("ABCD")
3
>>>

Verfasst: Montag 22. Juni 2009, 12:59
von phill
vielen Dank!

Verfasst: Montag 22. Juni 2009, 17:52
von phill
nun hab ich doch noch ne frage:

und zwar wenn ich nun nicht so suche:

"asdABCDadsfhoüadfgouihsdfoijiaugfuergjigaudfg ".index("ABCD")

sonder den string per getter bekomme...

foo.getsequence() dann stellt das nen string dar, wenn ich aber nun

string = foo.getSequence
pos =string.index(suchstring)
(ich will den ausgabe int wieder in einer variable haben)

mache wirft er diesen fehler:

pos = searchseq.index(patterns)
ValueError: substring not found


wobei es sichergestellt ist, dass es diesen substring gibt. Es kann nicht daran liegen das der String in dem gesucht wird nicht komplett angezeigt wird in einer View oder?


gruß

Verfasst: Montag 22. Juni 2009, 17:56
von jerch

Code: Alles auswählen

string = foo.getSequence
weist string die Funktion zu, nicht den Returnwert.

Verfasst: Montag 22. Juni 2009, 18:01
von phill
hmmm wie komm ich denn dann an den string ran?

Verfasst: Montag 22. Juni 2009, 19:34
von BlackJack
Indem Du die Funktion auch *aufrufst*.

Bei der gezeigten Ausnahme hast Du das in Deinem richtigen Quelltext aber anscheinend getan, denn bei einer Funktion gäb's keine `index()`-Methode. Warum auch immer du glaubst die Zeichenkette muss enthalten sein -- wenn Du diese Ausnahme bekommst ist sie es ganz offensichtlich nicht. Oder `suchstring` ist nicht das was Du denkst. Das sollte man mit einfachen ``print``-Anweisungen aber schnell herausfinden können.

Verfasst: Dienstag 23. Juni 2009, 22:15
von phill
naja bis jetzt dachte ich immer das ich mit foo.getsequence() die funktion auch aufrufe :-/

Verfasst: Dienstag 23. Juni 2009, 22:44
von Leonidas
phill hat geschrieben:naja bis jetzt dachte ich immer das ich mit foo.getsequence() die funktion auch aufrufe :-/
In dem Code den du oben gepostet hast fehlen die ``()``.

Verfasst: Mittwoch 24. Juni 2009, 10:35
von phill
danke....

Verfasst: Mittwoch 24. Juni 2009, 11:20
von jerch
@phill
Entschuldige, mein Fehler, ich hab mich nur auf die fehlenden Klammern bezogen. Ansonsten siehe BlackJacks Eintrag.

Verfasst: Mittwoch 24. Juni 2009, 19:09
von phill
kein Problem hatte eh noch ein anderes problem jetzt klappts aber;) bald ists fertig dann stell ich wenns jemand wal in den snippets oder showcase teil und ihr könnts zerfleischen... ;)