655 Stimmen

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

In Objective-C lautet der Code zum Überprüfen eines Teilstrings in einem NSString:

NSString *string = @"hello Swift";
NSRange textRange =[string rangeOfString:@"Swift"];
if(textRange.location != NSNotFound)
{
    NSLog(@"exists");
}

Aber wie mache ich das in Swift?

3voto

Goodtime Punkte 111

String.containsString ist nur in 10.10 Yosemite verfügbar (und wahrscheinlich iOS8). Auch beim Umleiten in ObjectiveC stürzt es in 10.9 ab. Du versuchst, ein NSString an NSCFString zu übergeben. Ich kenne den Unterschied nicht, aber ich kann sagen, dass 10.9 abstürzt, wenn dieser Code in einer OS X 10.9 App ausgeführt wird.

Hier sind die Unterschiede in Swift mit 10.9 und 10.10: https://developer.apple.com/library/prerelease/mac/documentation/General/Reference/APIDiffsMacOSX10_10SeedDiff/index.html containsString ist nur in 10.10 verfügbar

Der Bereich von String funktioniert gut auf 10.9. Ich finde, dass die Entwicklung auf 10.9 mit Xcode Beta2 sehr stabil ist. Ich benutze allerdings keine Playgrounds oder die Befehlszeilenversion von Playgrounds. Wenn die richtigen Frameworks importiert werden, finde ich die Autocomplete-Funktion sehr hilfreich.

2voto

Überprüfe, ob es 'Hello' enthält

let s = "Hello World"

if s.rangeOfString("Hello") != nil {
    print("Ja, es enthält 'Hello'")
}

2voto

Varsha Shivhare Punkte 53

Wenn Sie überprüfen möchten, ob ein String einen anderen Teilstring enthält oder nicht, können Sie dies auch wie folgt überprüfen,

var name = String()  
name = "John hat zwei Äpfel." 

Jetzt, in diesem bestimmten String, wenn Sie wissen möchten, ob er den Fruchtnamen 'Apfel' enthält oder nicht, können Sie Folgendes tun,

if name.contains("Apfel") {  
  print("Ja, es enthält den Fruchtnamen")    
} else {    
  print("es enthält keinen Fruchtnamen")    
}    

Hoffe, das funktioniert für Sie.

1voto

abhi Punkte 565
// Überprüfen, ob der Suchbegriff im Mitarbeitername vorhanden ist.
var empName:NSString! = employeeDetails[filterKeyString] as NSString

Groß-/Kleinschreibung beachten.
let rangeOfSearchString:NSRange! = empName.rangeOfString(searchString, options: NSStringCompareOptions.CaseInsensitiveSearch)

// Nicht gefunden.
if rangeOfSearchString.location != Foundation.NSNotFound
{
    // Suchbegriff nicht im Mitarbeitername gefunden.
}
// Gefunden.
else
{
    // Suchbegriff im Mitarbeitername gefunden.
}

1voto

oscar castellon Punkte 2880

SWIFT 4 ist sehr einfach!!

if (yourString.contains("irgendetwas")) {
   print("Existiert")
}

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