2016-04-14 77 views
1

Bu ben özel karakteri kullanarak yarılmış ister Benim dizedir"-" anahtar sözcüğünü kullanarak bir dizgi nasıl bölüştürülür? "-"

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

i yargılandı Ne: çıkardın kelimeleri devam yüzden yöntemin yukarıda ayrı ayrı alma her kelimeyi yaptıysak

[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); 

      }]; 

frenler örneğin çevirmek için - अनुवाद करना bu kelime frenleri alır. i 2 yöntem daha sonra yapsam

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

\ n ayrı ayrı değerleri almak için kesin bir yol nedir

"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 

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

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

dizenizle böyle deneyin kontrol dizenizle çalıştık neyi

+0

dizesi için componentsSeparatedByString yöntemini kontrol ettiniz ??? –

+0

Dizginiz başlangıçta ne içeriyor?नमस्ते Hintçe - - हिन्दी Telugu - तेलुगु nasıl - कैसे vardır - bu hi değerleri içeren benim srting @SuhasPatil –

+0

हैं sen - जाना gidiş - - जा रहा tercüme - अनुवाद करना iyi - अच्छा –

cevap

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); 

} 

ÇIKIŞ: enter image description here

-

Eğer ayırıcı olarak "" kullandıysanız o zaman irade dize yapacaktır: o kelimelere arasında farklı ayırıcı mümkün koymak eğer herhangi nasıl
Örneğin mantığını bozan çünkü

ben hintçe kelimeler arasındaki boşluk kaldırdık
olmak NSString * hindi = @ "hi - नमस्ते, Hintçe - ", Telugu - तेलुगु, nasıl - कैसे, - हैं, siz - आप, go - जाना, gidiyor - जा रहा, çeviri - अनुवाद करना, iyi - अच्छा ";

hindi = [Hintçe stringByReplacingOccurrencesOfString: @ "-" withString: @ ""]

daha sonra yukarıdaki gibi kod mantığı yerine;

NSArray * mixArray = [hindi componentsSeparatedByString: @ ","];

+0

'u bilmenize izin verdiğinizi düşünüyorum çünkü "\ n" yi de ayırıcı olarak kullanabilirsiniz. Buna sahip, kontrol et! –

0

.

sen \ alma n ardından girdi her çeviri sonra satır başı karakteri içeren gibi NSCharacterSet

+0

evet bunu denedim ama/n geliyor ... –

+0

\ n karakterini NSCharacterSet satırsonu karakterleri \ –

+0

ile kaldırabilirsiniz ve tamamlayacağım ve –

0

görünüyor kontrol ederek diziden çıkarın varsa.

kullanarak ayırarak deneyin:

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

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