2010-03-18 3 views
6

Ich habe den folgenden Code, der so funktioniert, wie ich es erwarte. Was würde ich gerne wissen, wenn es einen akzeptierten Cocoa-Weg gibt, eine Zeichenkette in ein Array aufzuteilen, wobei jedes Zeichen der Zeichenkette ein Objekt in einem Array ist?Wie teile ich eine NSString durch jedes Zeichen in der Zeichenfolge?

+0

Ich weiß, dass Sie NSString in ein Array unter Verwendung eines Trennzeichens teilen können. Vielleicht könnten Sie "" als Trennzeichen verwenden. Nur eine Vermutung: 'stringBuffer = [string componentsSeparatedByString: @" "];' –

+0

@wic: Das gibt ein Array von einem Element: die ursprüngliche Zeichenfolge. –

+0

@ Nik: Zahlen. Vielleicht regexp-splitting mit '/./'. Obwohl ich denke, Regexp-Unterstützung fehlt in Cocoa. –

Antwort

8

Wie eine Zeichenfolge ist bereits ein Array von Zeichen, das scheint, ... redundant.

+0

Ja, ich war so sehr auf ein Array angewiesen, dass ich mich darauf konzentriere, dieses Array zu erstellen. Was ich tun möchte, ist, einige Permutationen auf der Zeichenkette durchzuführen, was ich genauso einfach auf einem NSMutableString tun kann, ohne das Array zu erstellen. Danke, dass Sie mich auf den richtigen Weg gebracht haben. –

3

Wenn Sie wirklich eine NSArray von NSString s eines Zeichens jeder brauchen, ich glaube, Ihr Weg, es zu schaffen ist OK.

Es scheint jedoch fraglich, dass Ihr Zweck nicht in einer lesbareren, sicheren (und leistungsoptimierten) Weise ausgeführt werden kann. Eine Sache scheint mir besonders gefährlich zu sein: Strings in Unicode-Zeichen zu teilen, tut (meistens) nicht das, was man erwarten könnte. Es gibt Zeichen, die aus mehr als einem Unicode-Codepunkt bestehen. und es gibt Unicode-Codepunkte, die wirklich mehr als ein Zeichen sind. Sofern Sie nichts darüber wissen (oder garantieren können, dass Ihre Eingabe keine willkürlichen Zeichenfolgen enthält), sollten Sie nicht in Unicode-Zeichenfolgen auf Zeichenebene herumstöbern.

Verwandte Themen