Ich suche, um festzustellen, ob ein Zeichenfolgewert aus einer Benutzereingabe (UITextField) "leer" ist, wenn es nicht Null ist. Überprüfen, ob nicht ganz genug ist, weil ich keine Leerzeichen/Whitespace-Eingabe (wie sagen wir ein paar Leerzeichen) vermeiden möchte.Was ist der beste Weg, Whitespace von einer Zeichenfolge in Cocoa Touch zu trimmen?
Es scheint einen Hinweis auf eine gute Lösung für mein spezielles Problem zu geben in this StOv post.
Im Grunde geht es so etwas, aber ich vermute, es muss (oder soll) ein besserer Weg:
NSString *strResult;
NSScanner* scanner = [NSScanner scannerWithString:textField.text];
BOOL hasValidChars = [scanner scanUpToCharactersFromSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]
intoString:&strResult];
// if hasValidChars == YES, we've got nonwhite space chars collected into strResult
Diese eindeutig nur für meinen besonderen Umstand funktioniert, und selbst dann wäre es nicht, wenn das erste Zeichen war ein Leerzeichen, aber die Daten, die ich wollte, folgten. Also, ich merke, dass ich ein wenig von Ruby verwöhnt wurde, aber es muss ein erprobtes und wahres Idiom geben, um Strings in Cocoa zu trimmen.
Uuuund die Antwort schon da draußen, meine Entschuldigung:
NSString des -stringByTrimmingCharactersInSet:
es tun würde:
Gibt eine neue Zeichenfolge gemacht von von beiden Enden des Empfängers Zeichen enthalten Entfernen in einem gegebenen Zeichensatz.
Ich bin immer noch neugierig zu hören, ob jemand andere/bevorzugte Möglichkeiten hat, dies zu tun.
string.length> 0 – elliotrock