2015-11-20 4 views
6

ich einzelne Zeichen von NSString, wie „historisch“, „Release“, „Zorn“ zu bekommen versuchen. Ich möchte Ausgabe wie 1) AI, Muster, yes, Ce, oder 2) Q, die beginnen, 3), Crow, The, aber Ausgang kommt wie diese 1) AI, g, b, t, f , 2A) Parameter, das heißt, r, h, Installation, Inbetriebnahme, 3) ein, das heißt, r, s, derwie einzelne Zeichen von Zeichenfolge in ios bekommen für Gujrati Sprache (andere Sprache)

ich benutze Code habe unten wie:

NSMutableArray *array = [[NSMutableArray alloc]init]; 

    for (int i=0; i<strElement.length; i++) 
    { 
       NSString *str = [strElement substringWithRange:NSMakeRange(i, 1)]; 
       [array addObject:str]; 

    } 
    NSLog(@"%@",array); 

die nehmen lassen strElement als „Zorn“, dann habe ich eine Ausgabe wie diese ક , ્ , ર , ો , ધ Aber ich brauche eine Ausgabe wie diese ક્રો,ધ

Gibt es eine Möglichkeit, dass ich die gewünschte Ausgabe zu bekommen? Jedes Verfahren zur Verfügung direkt in iOS oder müssen sie durch mich selbst erstellen dann eine Möglichkeit oder eine Idee, wie es zu schaffen?

Jede Hilfe ist

geschätzt

Antwort

6

Ihr Code wird unter der Annahme, dass jedes Zeichen in der Zeichenfolge ist ein einzelner unichar Wert. Aber es ist nicht. Einige der Unicode-Zeichen bestehen aus mehreren unichar Werten zusammengesetzt.

Die Lösung zu verwenden, statt rangeOfComposedCharacterSequenceAtIndex:substringWithRange: mit einem festen Bereich Länge von 1.

NSString *strElement = @"ઐતિહાસિક પ્રકાશન ક્રોધ"; 
NSMutableArray *array = [[NSMutableArray alloc]init]; 

NSInteger i = 0; 
while (i < strElement.length) { 
    NSRange range = [strElement rangeOfComposedCharacterSequenceAtIndex:i]; 
    NSString *str = [strElement substringWithRange:range]; 
    [array addObject:str]; 
    i = range.location + range.length; 
} 

// Log the results. Build the results into a mutable string to avoid 
// the ugly Unicode escapes shown by simply logging the array. 
NSMutableString *res = [NSMutableString string]; 
for (NSString *str in array) { 
    if (res.length) { 
     [res appendString:@", "]; 
    } 
    [res appendString:str]; 
} 
NSLog(@"Results: %@", res); 

This Ausgänge:

Ergebnisse: AI, Muster, yes, Ce, oder, Q, das, also nicht, Krähe, die

+0

dank @rmaddy dieser Arbeit wie ein Zauber –

Verwandte Themen