1281 Stimmen

Wie überprüfe ich, ob ein String einen anderen String in Objective-C enthält?

Wie kann ich überprüfen, ob ein String (NSString) einen anderen kleineren String enthält?

Ich hatte gehofft, etwas Ähnliches zu finden:

NSString *string = @"hallo bla bla";
NSLog(@"%d",[string containsSubstring:@"hallo"]);

Aber das Nächste, was ich finden konnte, war:

if ([string rangeOfString:@"hallo"] == 0) {
    NSLog(@"Teil-String existiert nicht");
} 
else {
    NSLog(@"existiert");
}

Ist das jedenfalls die beste Methode, um festzustellen, ob ein String einen anderen String enthält?

2voto

Abhijit Punkte 173

Wenn Groß- und Kleinschreibung in einem String keine Rolle spielt. Versuchen Sie dies einmal.

NSString *string  = @"Hello World!";

if([string rangeOfString:@"hello" options:NSCaseInsensitiveSearch].location !=NSNotFound)
{
    NSLog(@"gefunden");
}
else
{
    NSLog(@"nicht gefunden");
}

1voto

Amir.n3t Punkte 2101

Versuchen Sie dies:

Swift 4.1 , 4.2:

let stringData = "Schwarze Tafel"

//swift schnell und beachtet Groß- und Kleinschreibung
if stringData.contains("bla") {
    print("Daten enthalten den String");
}

//Groß- und Kleinschreibung beachten
if stringData.range(of: "bla",options: .caseInsensitive) != nil {
    print("Daten enthalten den String");
}else {
    print("Daten enthalten den String nicht");
}

Für Objective-C:

NSString *stringData = @"Schwarze Tafel";

//Schnell und beachtet Groß- und Kleinschreibung
if ([stringData containsString:@"bla"]) {
    NSLog(@"Daten enthalten den String");
}

//Groß- und Kleinschreibung nicht beachten
if ([stringData rangeOfString:@"bla" options:NSCaseInsensitiveSearch].location != NSNotFound) {
   NSLog(@"Daten enthalten den String");
}else {
   NSLog(@"Daten enthalten den String nicht");
}

1voto

midhun p Punkte 1541

Swift 4 und höher

let str = "Hallo, ich bin Midhun"

if str.contains("ich bin") {
  // enthält Teilstring
}
else {
  // enthält nicht Teilstring
}

Objective-C

NSString *stringData = @"Hallo, ich bin Midhun";

if ([stringData containsString:@"ich bin"]) {
    // enthält Teilstring
}
else {
    // enthält nicht Teilstring
}

0voto

Rohit suvagiya Punkte 1009

Bitte verwende diesen Code

NSString *string = @"hello bla bla";
if ([string rangeOfString:@"bla"].location == NSNotFound) 
{
    NSLog(@"string enthält nicht bla");
} 
else 
{  
    NSLog(@"string enthält bla!");
}

0voto

Nayab Muhammad Punkte 207

Verwenden Sie die Option NSCaseInsensitiveSearch mit rangeOfString:options:

NSString *me = @"toBe" ;
NSString *target = @"abcdetobe" ;
NSRange range = [target  rangeOfString: me options: NSCaseInsensitiveSearch];
NSLog(@"gefunden: %@", (range.location != NSNotFound) ? @"Ja" : @"Nein");
if (range.location != NSNotFound) {
// dein Code
}

Ausgabeergebnis ist gefunden:Ja

Die Optionen können "oder" miteinander verknüpft werden und umfassen:

NSCaseInsensitiveSearch NSLiteralSearch NSBackwardsSearch und mehr

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X