2016-04-14 15 views
1

Dies ist mein String Ich mag es mit Sonderzeichen spalten „-“Wie teilt man eine Zeichenkette mit "-" Schlüsselwort?

hi - नमस्ते 
Hindi - हिन्दी 
Telugu - तेलुगु 
how - कैसे 
are - हैं 
you - आप 
go - जाना 
going - जा रहा 
translate - अनुवाद करना 
good - अच्छा 

Was ich versucht wurde:

[strFileContent enumerateSubstringsInRange:NSMakeRange(0, strFileContent.length) 
               options:NSStringEnumerationByWords 
              usingBlock: 
      ^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) { 
       checking=substring; 
       NSLog(@"this is my splitting values =%@",substring); 

      }]; 

Wenn ich oben Verfahren getrennt bekommen jedes Wort tat so, dass Worte weiterhin immer Bremsen für zB übersetzen - 0कनन dieses Wort bekommen Bremsen.

2) [arrcheck addObject:[strFileContent componentsSeparatedByString:@"-"]];

wenn i 2 tut Verfahren dann \ n hinzugefügt zu werden

"Tamil ", 
     " \U0924\U093e\U092e\U093f\U0932 
\nhi ", 
     " \U0928\U092e\U0938\U094d\U0924\U0947 
\nHindi ", 
     " \U0939\U093f\U0928\U094d\U0926\U0940 
\nTelugu ", 
     " \U0924\U0947\U0932\U0941\U0917\U0941 
\nhow ", 
     " \U0915\U0948\U0938\U0947 
\nare ", 
     " \U0939\U0948\U0902 
\nyou ", 
     " \U0906\U092a 
\ngo ", 
     " \U091c\U093e\U0928\U093e 
\ngoing ", 
     " \U091c\U093e \U0930\U0939\U093e 
\ntranslate ", 
     " \U0905\U0928\U0941\U0935\U093e\U0926 \U0915\U0930\U0928\U093e 

Was die genaue Art und Weise ist separat Werte zu erhalten.

+0

haben Sie KomponentenSeparatedByString-Methode für Zeichenfolge überprüft ??? –

+0

Was enthält Ihre Zeichenfolge ursprünglich?diese Werte hallo –

+0

@SuhasPatil meine srting enthält - नमस्ते Hindi - हिन्दी Telugu - तेलुगु how - कैसे sind - हैं Sie - आप go - जाना gehen - जा रहा übersetzen - अनुवाद करना gut - अच्छा –

Antwort

1
// ORIGINAL STRING: NSString *hindi = @"hi - नमस्ते Hindi - हिन्दी Telugu - तेलुगु how - कैसे are - हैं you - आप go - जाना going - जा रहा translate - अनुवाद करना good - अच्छा"; 

-

NSString *hindi = @"hi - नमस्ते Hindi - हिन्दी Telugu - तेलुगु how - कैसे are - हैं you - आप go - जाना going - जारहा translate - अनुवादकरना good - अच्छा"; 


hindi = [hindi stringByReplacingOccurrencesOfString:@"- " withString:@""]; 

NSArray *mixArray = [hindi componentsSeparatedByString:@" "]; 
NSLog(@"mixArray: %@",mixArray); 


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

for (int i =0 ; i < mixArray.count; i++) { 

    if(i%2 == 0){ 

     [arrayForEnglishWords addObject:mixArray[i]]; 
    } 
} 


for (NSString *str in arrayForEnglishWords) { 

     NSLog(@": %@",str); 

} 

NSLog(@"__________________"); 

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

for (int i =0 ; i < mixArray.count; i++) { 

    if(i%2 != 0){ 

     [arrayForHindiWords addObject:mixArray[i]]; 
    } 
} 

for (NSString *str in arrayForHindiWords) { 

    NSLog(@": %@",str); 

} 

OUTPUT: enter image description here

-

Ich habe den Abstand zwischen den hindi Wörter entfernt, weil das Störung der Logik ist, jeder, wie wenn Sie in der Lage die verschiedenen Trennzeichen zwischen Worten
Eg setzen: Wenn Sie verwendet „“ als Trenn dann Sie Willen Zeichenfolge wird werden als
NSString * hindi = @ "hallo - नमस्ते, Hindi - हिन्दी, Telugu - तेलुगु, wie - कैसे sind - हैं, Sie - आप, gehen - जाना, going- जा रहा, übersetzen - अनुवाद करना, gut - अच्छछ ";

dann ersetzen Logik in obigem Code wie:

hindi = [hindi stringByReplacingOccurrencesOfString: @ "-" withString: @ ""];

NSArray * mixArray = [Hindi KomponentenSeparatedByString: @ ","];

+0

ich denke, du kannst auch das "\ n" als separator seit deiner benutzen das haben, überprüfen Sie es! –

0

, was ich mit der Zeichenfolge versucht haben, nur überprüfen

NSString *hindi = @"hi - नमस्ते Hindi - हिन्दी Telugu - तेलुगु how - कैसे are - हैं you - आप go - जाना going - जा रहाtranslate - अनुवाद करना good - अच्छा"; 

NSArray *separr = [hindi componentsSeparatedByString:@"-"]; 

wie diese versuchen mit der Zeichenfolge.

Wenn Sie immer \ n dann ist es aus dem Array entfernen, indem die NSCharacterSet Überprüfung

+0

yeah probierte das, aber/n kommt ... –

+0

du kannst \ n zeichen entfernen mit NSCharacterSet newline characters \ –

+0

ok ich werde versuchen und dich wissen lassen –

0

Sieht aus wie Sie Ihre Eingabe Newline nach jeder Übersetzung enthält.

Versuchen Sie, sie zu trennen mit:

NSArray* components = [str componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]]; 
NSMutableArray *finalComponents = [[NSMutableArray alloc] init]; 

for (NSString* strToken in components) { 
    [finalComponents addObject:[strToken componentsSeparatedByString:@" - "]]; 
} 
Verwandte Themen