Wie teilen Sie NSString in Komponententeile?

8

Wenn ich in Xcode eine NSString mit einer Zahl, also @ "12345", habe, teile ich sie in ein Array, das die Komponenten "1", "2", "3", "4" darstellt "," 5 "... Es gibt ein componentsSeparatedByString auf dem Objekt NSString , aber in diesem Fall gibt es kein Trennzeichen ...

    
Graham Whitehouse 15.10.2010, 12:37
quelle

5 Antworten

4

Es mag so aussehen, als würde characterAtIndex: den Trick machen, aber das gibt unichar zurück, was kein von NSObject abgeleiteter Datentyp ist und daher nicht direkt in ein Array eingefügt werden kann. Sie müssten mit jedem Unicar eine neue Zeichenfolge erstellen.

Eine einfachere Lösung besteht darin, substringWithRange: mit 1-Zeichen-Bereichen zu verwenden. Führen Sie den String durch eine einfache for (int i=0;i<[myString length];i++) -Schleife, um jeden 1-Zeichen-Bereich zu einem NSMutableArray hinzuzufügen.

    
John Franklin 15.10.2010, 12:48
quelle
24

Dafür gibt es eine ready-Member-Funktion von NSString:

%Vor%     
VLegakis 03.05.2011 14:57
quelle
1

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 und [string characterAtIndex:] zu erhalten, um die Zeichen zu erhalten.

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 Zeichenfolge mit einer for -Schleife, erstellen Sie eine neue Zeichenfolge mit einem einzelnen Zeichen mithilfe von [NSString stringWithFormat:] und fügen Sie diese zu Ihrem Array hinzu. Aber das ist normalerweise nicht notwendig.

    
Sven 15.10.2010 12:49
quelle
1

In Ihrem Fall müssen Sie, da Sie kein Trennzeichen haben, getrennte Zeichen mit

erhalten %Vor%

oder dieses

%Vor%

Das ist der einzige Weg, den ich im Moment sehe.

    
fspirit 15.10.2010 12:51
quelle
0

Ich weiß nicht, ob das für das funktioniert, was Sie tun möchten, aber:

%Vor%

Lesen Sie die Dokumentation zu UTF8String

    
Nimrod 15.10.2010 12:49
quelle

Tags und Links