Jak sprawdzasz, czy NSString zaczyna się od określonej postaci (znaku *).
* Jest wskaźnikiem typu komórki, więc potrzebuję zawartości tego NSString bez *, ale muszę wiedzieć, czy * istnieje.
objective-c
nsstring
Xetius
źródło
źródło
hasPrefix:@"word"
sprawdzasz, czy istnieje wiele wartości przechowywanych w plikuNSArray
? Na przykładNSArray *words = [NSArray arrayWithObjects:@"foo",@"bar",@"baz",nil];
:?Możesz użyć:
źródło
hasPrefix działa szczególnie dobrze. na przykład, jeśli szukałeś http URL w
NSString
, należałoby użyćcomponentsSeparatedByString
, aby utworzyćNSArray
i iterate tablica użyciuhasPrefix
znaleźć elementy, które zaczynają się od http.hasPrefix
zwraca wartość logiczną wskazującą, czy dany ciąg pasuje do początkowych znaków odbiornika.parametr
aString
to ciąg, którego szukasz Zwracana wartość to TAK, jeśli ciąg znaków pasuje do początkowych znaków odbiornika, w przeciwnym razie NIE. Zwraca NIE, jeśliaString
jest pusty.źródło
Zastosowanie
characterAtIndex:
. Jeśli pierwszym znakiem jest gwiazdka, użyj,substringFromIndex:
aby uzyskać ciąg sans „*”.źródło
źródło
Inne podejście do tego…
Niech może komuś pomóc ...
źródło
Jako ogólniejszą odpowiedź spróbuj użyć metody hasPrefix. Na przykład poniższy kod sprawdza, czy ciąg zaczyna się od 10, który jest kodem błędu używanym do identyfikowania określonego problemu.
źródło
To może pomóc? :)
http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/instm/NSString/characterAtIndex :
Po prostu wyszukaj znak o indeksie 0 i porównaj go z wartością, której szukasz!
źródło
Ten miły kawałek kodu znalazłem przypadkiem i jeszcze go nie widziałem na Stackie. Działa tylko wtedy, gdy istnieją postacie, które chcesz usunąć lub zmienić, co jest wygodne w wielu scenariuszach. Jeśli znak / znaki nie istnieją, nie zmieni twojego NSString:
Tak to wykorzystuję:
Ta jedna linia jest bardzo łatwa do wykonania trzech czynności w jednym:
źródło
źródło