2017-06-09 3 views
0

In meiner App erhalte ich einige eingehende Daten von einem Webdienst. In diesen Daten können auch falsche Werte wie neue Zeilenzeichen empfangen werden. Ich möchte in Antwort-String finden, wenn es ein neues Zeilenzeichen enthält oder nicht.Suchen nach neuen Zeilenzeichen in einem String in "Swift 3"

Vor Swift 3 konnte ich es wie dieses

string.rangeOfString("\n")) == nil) 

Aber in Swift 3 diese Methoden tun, ist nicht mehr verfügbar. Jedoch ist substring Methode verfügbar, die mit Hilfe von Range tut.

Ich möchte feststellen, ob meine Zeichenfolge enthält "\n" wie dies mit dieser Methode in Swift 3 durchgeführt werden würde.

+0

Verlängerungs String { var Zeilen: [String] { var Ergebnis: [String] = [] enumerateLines {line, _ in result.append (line)} return result } } –

+0

Text lassen = " line1 \ nline2 " lass array = text.components (separatedBy: CharacterSet.newlines) benutze diese Dinge. –

+0

Bitte überprüfen Sie diese Antwort https://stackoverflow.com/questions/39677330/how-does-string-substring-work-in-swift-3 – LZ041

Antwort

1

Wenn Sie wollen einfach nur wissen, ob es da ist und es egal, wo es ist, string.contains("\n") zurückkehren wahr wenn es da ist und falsch wenn nicht.

+1

Du hast recht. Es ist sehr einfach und elegant in der Methode gebaut –

0

.characters.contains() sollte es tun:

let s1 = "Hi I'm a string\n with a new line" 
s1.characters.contains("\n") // => true 

let s2 = "I'm not" 
s2.characters.contains("\n") // => false 
0
let string:String = "This is a string" 
if string.range(of: "\n") == nil { 
    print ("contains nil") 
} 
else { 
    print("contains new line") 
} 

perferctly in schnellen Arbeits 3.

0

Swift 3

string.range(of: "\n") 

zu prüfen:

if string.range(of: "\n") == nil{ 

} 

Oder wenn Sie wollen einfach die string enthält \n oder nicht überprüfen, dann

if !str.characters.contains("\n") { 

} 
Verwandte Themen