it-swarm.com.de

Beispiele für die Suche nach Zeichenketten in Python

Ich versuche einige Beispiele zu finden, aber kein Glück. Kennt jemand einige Beispiele im Netz? Ich würde gerne wissen, was es zurückgibt, wenn es nicht gefunden werden kann, und wie man es vom Anfang bis zum Ende spezifiziert.

57
Joan Venge

sie können auch str.index verwenden:

>>> 'sdfasdf'.index('cc')
Traceback (most recent call last):
  File "<pyshell#144>", line 1, in <module>
    'sdfasdf'.index('cc')
ValueError: substring not found
>>> 'sdfasdf'.index('df')
1
41
SilentGhost

Ich bin nicht sicher, wonach Sie suchen, meinen Sie find() ?

>>> x = "Hello World"
>>> x.find('World')
6
>>> x.find('Aloha');
-1
108

Von hier :

str.find (sub [ start [ end]])
Gibt den niedrigsten Index in der Zeichenfolge zurück, in dem der Teilstring sub gefunden wird, sodass sub im Bereich [Anfang, Ende] enthalten ist. Optionale Argumente start und end werden in Slice-Notation interpretiert. Gib -1 zurück, wenn sub nicht gefunden wird. "

Also einige Beispiele:

>>> str = "abcdefioshgoihgs sijsiojs "
>>> str.find('a')
0
>>> str.find('g')
10
>>> str.find('s',11)
15
>>> str.find('s',15)
15
>>> str.find('s',16)
17
>>> str.find('s',11,14)
-1
30
Phil H

Ehrlich gesagt, das ist eine Art Situation, in der ich Python einfach auf der Kommandozeile öffne und anfange, herumzuspielen:

 >>> x = "Dana Larose is playing with find()"
 >>> x.find("Dana")
 0
 >>> x.find("ana")
 1
 >>> x.find("La")
 5
 >>> x.find("La", 6)
 -1

Pythons Interpreter macht diese Art des Experimentierens einfach. (Gleiches gilt für andere Sprachen mit einem ähnlichen Dolmetscher.)

17
Dana

Wenn Sie nach der letzten Instanz einer Zeichenfolge in einem Text suchen möchten, können Sie rfind ausführen.

Beispiel: 

   s="Hello"
   print s.rfind('l')

ausgabe: 3 

* kein import erforderlich

Vollständige Syntax:

stringEx.rfind(substr, beg=0, end=len(stringEx))
5
LucianNovo

find( sub[, start[, end]])

Gibt den niedrigsten Index in der Zeichenfolge zurück, in der sich das Unterzeichenfolgen-Unterzeichen befindet, sodass das Unterzeichen im Bereich [Anfang, Ende] enthalten ist. Optionale Argumente start und end werden wie in Slice-Notation interpretiert. Gibt -1 zurück, wenn sub nicht gefunden wird.

Von die Dokumente .

2
MarkusQ

Versuche dies:

with open(file_dmp_path, 'rb') as file:
fsize = bsize = os.path.getsize(file_dmp_path)
Word_len = len(SEARCH_Word)
while True:
    p = file.read(bsize).find(SEARCH_Word)
    if p > -1:
        pos_dec = file.tell() - (bsize - p)
        file.seek(pos_dec + Word_len)
        bsize = fsize - file.tell()
    if file.tell() < fsize:
        seek = file.tell() - Word_len + 1
        file.seek(seek)
    else:
        break
0

wenn x eine Zeichenkette ist und Sie nach y suchen, die auch eine Zeichenkette ist, gibt es zwei Fälle: case 1: y ist in x vorhanden, also ist x.find (y) = der Index (der Position) von y in x .Fall 2: y ist nicht vorhanden, so dass x.find (y) = -1 dieses Mittelwert y nicht in x gefunden wird. 

0
Nader Elsayed