In Xcode, wenn ich eine NSString
habe, die eine Zahl enthält, zB @ "12345", wie teile ich es in ein Array, das die Komponenten darstellt, dh "1", "2", "3", "4", " 5" ... Es ist ein componentsSeparatedByString
auf das NSString
Objekt, aber in diesem Fall gibt es keine Trennzeichen ...Wie teilen Sie NSString in Komponententeile?
Antwort
Es ist wie characterAtIndex:
scheinen mag den Trick tun würde, aber das gibt ein unichar
, die keine ist NSObject-abgeleiteter Datentyp und kann daher nicht direkt in ein Array eingefügt werden. Sie müssten mit jedem Unicar eine neue Zeichenfolge erstellen.
Eine einfachere Lösung ist die Verwendung von substringWithRange:
mit 1-Zeichen-Bereichen. Führen Sie die Zeichenfolge durch eine einfache for (int i=0;i<[myString length];i++)
-Schleife, um jeden 1-Zeichen-Bereich zu einer NSMutableArray
hinzuzufügen.
A NSString
bereits ist ein Array seiner Komponenten, wenn Sie unter Komponenten einzelne Zeichen verstehen. Verwenden Sie [string length]
, um die Länge der Zeichenfolge zu erhalten, und [string characterAtIndex:]
, um die Zeichen abzurufen.
Wenn Sie wirklich ein Array von String-Objekten mit nur einem Zeichen benötigen, müssen Sie dieses Array selbst erstellen. Überstreichen Sie die Zeichen in der Zeichenkette mit einer for
-Schleife, erstellen Sie eine neue Zeichenkette mit einem einzelnen Zeichen unter Verwendung von [NSString stringWithFormat:]
und fügen Sie diese zu Ihrem Array hinzu. Aber das ist normalerweise nicht notwendig.
Sie wissen nicht, ob das funktioniert für das, was Sie tun wollen, aber:
const char *foo = [myString UTF8String]
char third_character = foo[2];
Vergewissern Sie sich die Dokumentation auf UTF8String
In Ihrem Fall zu lesen, da Sie kein Trennzeichen haben, haben Sie getrennte Zeichen von
- (void)getCharacters:(unichar *)buffer range:(NSRange)aRange
oder dieses
- (unichar)characterAtIndex:(NSUInteger) index inside a loop.
zu erhalten
Das ist der einzige Weg, den ich sehe, im Moment.
Es ist ein gebrauchsfertiges Memberfunktion von NSString dafür, dass:
NSString* foo = @"safgafsfhsdhdfs/gfdgdsgsdg/gdfsgsdgsd";
NSArray* stringComponents = [foo componentsSeparatedByString:@"/"];
- 1. Sharepoint XSL - Pausenzeichenfolge in Komponententeile
- 2. NSString ascii konvertieren in NSString
- 3. Wie Tausendertrennzeichen in NSString
- 4. Teilen Sie HTML in Seiten, teilen Sie lange Absätze
- 5. Wie teilen Sie eine Konfigurationsdatei in git?
- 6. Wie teilen Sie XMLs in Mule? Splitter?
- 7. Wie Sie eine Variable in MEF teilen
- 8. Wie teilen Sie lange Codezeilen in Verilog?
- 9. NSString-Tokenize in Objective-C
- 10. Entfernen Sie Zeichen in NSCharacterSet von NSString
- 11. Ersetzen Sie ein Zeichen in NSString
- 12. Ändern Sie NSString in int-Wert?
- 13. So konvertieren Sie Byte-Array in NSString
- 14. So analysieren Sie einen NSString
- 15. Wie verschlüsseln Sie den NSString-Wert mit DES in iPhone?
- 16. Wie man einen NSString an einen anderen NSString anfügt
- 17. Wie erhält man die NSString-Größe, wenn NSString Emojis enthält?
- 18. Wie NSString Bytes
- 19. Wie konvertiert man NSNumber in NSString
- 20. Wie teilen Sie PHAsset mit UIActivityViewController?
- 21. Split NSString in Array
- 22. Wie NSString zu NSDate Objekt
- 23. konvertieren NSDictionary in NSString
- 24. PDFDocument in NSString konvertieren
- 25. NSString Frage in Objective
- 26. Wie Sie Text und Bild zu WhatsApp direkt teilen
- 27. Wie man mit Zugriffstoken auf linkedin teilen
- 28. NSString in UIWebview
- 29. Daten von SQLite in Teilen abrufen
- 30. NSMutableAttributedString in NSString konvertieren
Die brillant gearbeitet, Vielen Dank für die schnelle Antwort :-) –