Wie entferne ich führende & amp; Nachgestellte Leerzeichen von NSString in einem NSArray?
Ich habe ein NSArray erklärt:
@property (nonatomic, strong) NSArray *arrayRefineSubjectCode;
Habe ich die array-Elemente manuell ausgefüllt wie folgt:
arrayRefineSubjectCode = [NSArray arrayWithObjects:
@" BKKC 2061",
@" BKKS 2631 ",
@"BKKS 2381 ",
nil];
So, wie Entferne ich den Start-und End-Leerzeichen und stellen Sie die einzelnen array-Elemente so zu werden wie diese:
arrayRefineSubjectCode = [NSArray arrayWithObjects:
@"BKKC 2061",
@"BKKS 2631",
@"BKKS 2381",
nil];
Habe ich versucht, mit "stringByTrimmingCharactersInSet:" aber es funktioniert nur für NSString. Ein bisschen verwirrt hier. Bitte um Hilfe...
Kommentar zu dem Problem
mögliche Duplikate von stackoverflow.com/q/758212/1114171
Wenn Sie können, es wäre viel besser, schneiden Sie die Leerzeichen, bevor Sie diese in das array zu starten.
Aber dass die post trimmt whitespace-Zeichen NSString @Tom Ingram.
@shamsulfakhar nicht sicher, ob ich bekomme dein Punkt, so weit wie ich es verstehe, dann kann man nicht von einer NX(N)ConstantString, so müssen Sie entweder reinigen Sie diese vor der Abtretung oder reasign Sie ein NSString bietet ?statische? Verfahren zur Reinigung oder umsetzen, etwas ähnlich zu dem, was NSString bietet
sorry, ich bin ganz neu hier...
InformationsquelleAutor der Frage shamsulfakhar | 2012-02-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
NSArray
und die enthaltenenNSString
Objekte sind alle unveränderlich sind. Gibt es keine Möglichkeit, ändern Sie die Objekte, die Sie haben.Stattdessen erstellen Sie neue Saiten und setzt Sie in ein neues array:
InformationsquelleAutor der Antwort Nikolai Ruhe
Lesen http://nshipster.com/nscharacterset/
So, in Swift 3
InformationsquelleAutor der Antwort onmyway133
SSToolkit hat ein paar nette Kategorien:edit: link ist kaputt und es scheint nicht zu in SSToolkit mehr.Dies ist der alte code:
Jedoch statt Strippen mehrmals mit unterschiedlichen Zeichensätzen, könnte es besser sein, erstellen einer union aller Zeichensätze, die Sie wollen, entfernt.
NSMutableCharacterSet
ist Ihr Freund da.InformationsquelleAutor der Antwort orkoden
Nikolai ist, die Rechte über die Wandlungsfähigkeit. Also die wohl einfachste Möglichkeit, Dinge zu lösen, ist zu definieren
, und dann legen Sie Zeichenfolgen ein, indem man, z.B.
... um drei Elemente mit " bla bla bla ". Beachten Sie, dass Sie nicht addObject eine unveränderliche NSArray, nur, um einen änderbaren NSMutableArray.
Natürlich, Sie können die Saiten mit den überflüssigen Leerzeichen sitzen irgendwo schon. Sie müssen einen änderbaren (!) kopieren der strings, und fügen Sie diese in die arrayRefineSubjectCode array mit addObject. Sie könnten entfernen Sie die Leerzeichen vor oder nach dem hinzufügen zum array.
Hoffe, das hilft ein bisschen.
Dachte nur hinzufügen, eine Letzte Bemerkung. Sie Fragen sich vielleicht, warum Sie verwenden würden, unveränderliche Objekte sowieso. Es gibt ein paar Gründe, aber wenn Sie können sich mit unveränderlich, Sie führen zu einer schnelleren code, kopieren ist einfach (einfach kopieren Sie den Zeiger auf die Adresse mit den Daten, weil die Daten nicht sowieso ändern), und es ist wahrscheinlicher werden, um thread-sicher. Natürlich vorsichtig, dann mit einem NSArray, dass Punkte, die auf veränderliche Objekte wie NSMutableString!
InformationsquelleAutor der Antwort markjs
Entfernt führende Leerzeichen und nachfolgende Leerzeichen aus "string"
InformationsquelleAutor der Antwort zumzum
InformationsquelleAutor der Antwort Bassant Ashraf