swift 3 Erhalte den Startindex (als int) der Teilzeichenfolge

9

Ich möchte die Anfangs- und Endposition eines Teilstrings innerhalb eines Strings erhalten. Beispiel: In der Zeichenfolge "Hi, das ist mein Name"; Wenn ich die Zeichenfolge "this" zur Verfügung stelle, würde ich gerne wissen, dass der Startindex 4 und der Endindex 7 ist.

Ich habe mehrere Links gefunden, einschließlich dieses:

Swift: Ruft den Index des Starts einer Teilzeichenfolge in einer Zeichenfolge ab a-substring-in-string

Aber es funktioniert nicht in swift 3, da die Methode jetzt als Bereich bezeichnet wird.

Ich benutze das jetzt:

%Vor%

was das zurückgibt

%Vor%

Und ich kann die Position nicht als ganze Zahl erhalten, da dies ein Index ist.

Zusammenfassend möchte ich in einer Variablen vom Typ int die Position haben, in diesem Fall 15.

Kann mir jemand helfen?

Danke allen.

    
rog 16.10.2016, 13:03
quelle

2 Antworten

15

Die Methode distance(from:to:) von String berechnet den Unterschied zwischen zwei String.Index -Werten:

%Vor%

Tatsächlich leitet es den Aufruf nur an die CharacterView der Zeichenkette weiter Das obige ergibt das gleiche Ergebnis wie

%Vor%

Wenn Sie alle Vorkommen der Zeichenfolge benötigen:

%Vor%     
Martin R 16.10.2016, 13:31
quelle
0

Angepasste Antwort von Martin R in eine Funktion gibt Ihnen das erste Vorkommen als NSRange . Sie könnten dies auch in ein extension von String umwandeln.

%Vor%     
GabeV 05.10.2017 16:17
quelle

Tags und Links