这是我的字符串我想用特殊字符“ - ”
拆分它hi - नमस्ते
Hindi - हिन्दी
Telugu - तेलुगु
how - कैसे
are - हैं
you - आप
go - जाना
going - जा रहा
translate - अनुवाद करना
good - अच्छा
我的尝试:
[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);
}];
如果我在上面的方法中,每个单词都会单独进行,以便继续使用单词进行制动,例如翻译 - अनुवादकरना这个单词会变刹车。
2)[arrcheck addObject:[strFileContent componentsSeparatedByString:@"-"]];
如果我做了2个方法,那么\ n就会被添加
"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
分别获取值的确切方法是什么。
答案 0 :(得分: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);
}
-
我删除了印地语单词之间的间距,因为那是 扰乱逻辑,如果你能够把不同的东西怎么办 单词之间的分隔符
例如:如果您使用“,”作为分隔符,那么您 将字符串变为
NSString * hindi = @“hi - नमस्ते,Hindi - हिन्दी,Telugu - तेलुगु,how - कैसे,are - हैं,you - आप,go - जाना,going- जारहा,翻译 - अनुवादकरना,good - अच्छा“;然后将上面代码中的逻辑替换为:
hindi = [hindi stringByReplacingOccurrencesOfString:@“ - ”withString:@“,”];
NSArray * mixArray = [hindi componentsSeparatedByString:@“,”];
答案 1 :(得分:0)
我尝试过你的字符串只需检查
NSString *hindi = @"hi - नमस्ते Hindi - हिन्दी Telugu - तेलुगु how - कैसे are - हैं you - आप go - जाना going - जा रहाtranslate - अनुवाद करना good - अच्छा";
NSArray *separr = [hindi componentsSeparatedByString:@"-"];
用你的字符串试试这个。
如果你正在获取\ n然后通过检查NSCharacterSet
将其从数组中删除答案 2 :(得分:0)
在每次翻译后,您的输入看起来都包含换行符。
尝试使用以下方法将它们分开:
NSArray* components = [str componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
NSMutableArray *finalComponents = [[NSMutableArray alloc] init];
for (NSString* strToken in components) {
[finalComponents addObject:[strToken componentsSeparatedByString:@" - "]];
}