NSRange, Teil 2
Objective-C hat leider nicht die Methoden zur Manipulation von Zeichenketten, die Sie vielleicht aus anderen Programmiersprachen kennen. Doch mit ein wenig Geschick und mit Einsatz von NSRange kann man viele der fehlenden Funktionalität ersetzten.
contains
- prüft ob ein Text in einem anderen Text enthalten ist
Methode:
Objective-C hat leider nicht die Methoden zur Manipulation von Zeichenketten, die Sie vielleicht aus anderen Programmiersprachen kennen. Doch mit ein wenig Geschick und mit Einsatz von NSRange kann man viele der fehlenden Funktionalität ersetzten.
contains
- prüft ob ein Text in einem anderen Text enthalten ist
Methode:
-
(bool)NSStringContains:(NSString *)aString contains:(NSString *)bString
{ NSRange theRange = [aString rangeOfString:bStringoptions:NSCaseInsensitiveSearch]; if(theRange.length > 0) { return true; } return false; } |
Beispiel Aufruf:
bool b = [self NSStringContains:@"Guten Morgen Entwickler!" contains:@"morgen"]; |
left
- Zeichenkette vom Anfang eines Textes mit der angebenden Anzahl der Zeichen
Methode:
-
(NSString *)NSStringLeft:(NSString *)aString characters:(int)count
{ NSRange theRange = NSMakeRange(0, count); return [aString substringWithRange:theRange]; } |
Beispiel Aufruf:
NSString
*myText =
@"Hallo
Entwickler";
myText = [self NSStringLeft:myText characters:3]; |
right
- Zeichenkette vom Ende eines Textes mit der angebenden Anzahl der Zeichen
Methode:
-
(NSString *)NSStringRight:(NSString *)aString characters:(int)count
{ NSRange theRange = NSMakeRange([aString length] - count, count); return [aString substringWithRange:theRange]; } |
Beispiel Aufruf:
NSString
*myText =
@"Hallo
Entwickler";
myText = [self NSStringRight:myText characters:5]; |
mid
- Zeichenfolge aus einem Text von angegebenen Position und Anzahl der Zeichen
Methode:
-
(NSString *)NSStringMid:(NSString *)aString start:(int)aStart
characters:(int)count { NSRange theRange = NSMakeRange(aStart,count); return [aString substringWithRange:theRange]; } |
Beispiel Aufruf:
NSString
*myText =
@"Hallo
Entwickler";
myText = [self NSStringMid:myText start:3characters:5]; |
find oder indexOf
- Gibt die erste Position eines Textes in einem anderen Zeichenfolge zurück. Rückgabewert ist -1 wenn der Text nicht vorhanden ist.
Methode:
-
(int)NSStringFind:(NSString
*)aString find:(NSString *)bString { NSRange theRange = [aString rangeOfString:bStringoptions:NSCaseInsensitiveSearch]; if(theRange.length > 0) { return theRange.location; } return -1; } |
Beispiel Aufruf:
NSString
*myText =
@"Hallo
Entwickler";
NSString *myFindText = @"ent"; int i = [self NSStringFind:myText find:myFindText]; |
lastIndexOf
- Gibt die letzte Position eines Textes in einem anderen Zeichenfolge zurück. Rückgabewert ist -1 wenn der Text nicht vorhanden ist.
Methode:
-
(int)NSStringLastIndexOf:(NSString
*)aString find:(NSString *)bString { NSRange theRange = [aString rangeOfString:bString options:NSCaseInsensitiveSearch| NSBackwardsSearch]; if(theRange.length > 0) { return theRange.location; } return -1; } |
Beispiel Aufruf:
NSString
*myText =
@"Hallo
Entwickler";
NSString *myFindText = @"e"; int i = [selfNSStringLastIndexOf:myText find:myFindText]; |