2012-06-12 12 views
5

Czy istnieje metoda sprawdzania, czy znak NSString nie zawiera znaków? przykład ciągu bez znaków może być:IOS: sprawdź, czy ciąg znaków jest pustym ciągiem

@ "" lub @ "" lub @ "\ n" lub @ "\ n \ n", Chcę cosider te ciągi jako puste ciągi i wydrukować dziennik, który mówi mi że to emty, jakiego rodzaju kontroli powinienem użyć?

Odpowiedz

7

Można użyć tego testu:

if ([[myString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] length] == 0) { 
    // The string is empty 
} 
+0

+1 byłem nieświadomy tej funkcji; Twoja odpowiedź jest lepsza niż moja :) – WendiKidd

+0

@WendiKidd Dzięki! Jako szybki offtop, nie mam pojęcia, kto zniżył twoją odpowiedź, ale myślę, że wiem dlaczego: używasz stałych łańcuchowych '@" "' i '@" \ n "' zamiast stałych znaków '''' i '' \ n''; naprawienie tego powinno przekształcić twoje rozwiązanie w w pełni działające. – dasblinkenlight

+0

Ah! Głupia, nie zauważyłem! Dziękuję za wskazanie tego. Naprawiłem to, dzięki :) – WendiKidd

0

Możesz przerobić każdy znak w ciągu znaków i sprawdzić, czy jest to spacja ("") lub znak nowej linii ("\ n"). Jeśli nie, zwróć false. Inaczej, jeśli przeszukujesz cały ciąg znaków i nie zwrócisz fałszu, jest on "pusty".

coś takiego:

NSString* myStr = @"A STRING"; 
for(int i = 0; i < [myStr length]; i++) 
{ 
    if(!(([myStr characterAtIndex:i] == @' ') || ([myStr characterAtIndex:i] == @'\n'))) 
    { 
     return false; 
    } 
} 
Powiązane problemy