如何使用“-”关键字拆分字符串?
How to split a string using "-" keyword ?
这是我的字符串,我喜欢用特殊字符“-”拆分它
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
分别获取值的确切方法是什么。
我用你的字符串试过的只是检查
NSString *hindi = @"hi - नमस्ते Hindi - हिन्दी Telugu - तेलुगु how - कैसे are - हैं you - आप go - जाना going - जा रहाtranslate - अनुवाद करना good - अच्छा";
NSArray *separr = [hindi componentsSeparatedByString:@"-"];
用你的字符串试试这个。
如果你得到 \n 然后通过检查 NSCharacterSet
从数组中删除它
看起来您的输入在每次翻译后都包含换行符。
尝试使用 :
将它们分开
NSArray* components = [str componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
NSMutableArray *finalComponents = [[NSMutableArray alloc] init];
for (NSString* strToken in components) {
[finalComponents addObject:[strToken componentsSeparatedByString:@" - "]];
}
// 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);
}
输出:
-
I have removed the spacing between the hindi words because that's
disturbing the logic, any how if you will able to put the different
separator between words
Eg: if you used "," as separator then you
will string will become as
NSString *hindi = @"hi - नमस्ते,Hindi -
हिन्दी,Telugu - तेलुगु,how - कैसे,are - हैं,you - आप,go - जाना,going-
जा रहा,translate - अनुवाद करना,good - अच्छा";
then replace logic in above code as:
hindi = [hindi stringByReplacingOccurrencesOfString:@"- " withString:@","];
NSArray *mixArray = [hindi componentsSeparatedByString:@","];
这是我的字符串,我喜欢用特殊字符“-”拆分它
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
分别获取值的确切方法是什么。
我用你的字符串试过的只是检查
NSString *hindi = @"hi - नमस्ते Hindi - हिन्दी Telugu - तेलुगु how - कैसे are - हैं you - आप go - जाना going - जा रहाtranslate - अनुवाद करना good - अच्छा";
NSArray *separr = [hindi componentsSeparatedByString:@"-"];
用你的字符串试试这个。
如果你得到 \n 然后通过检查 NSCharacterSet
从数组中删除它看起来您的输入在每次翻译后都包含换行符。
尝试使用 :
将它们分开NSArray* components = [str componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
NSMutableArray *finalComponents = [[NSMutableArray alloc] init];
for (NSString* strToken in components) {
[finalComponents addObject:[strToken componentsSeparatedByString:@" - "]];
}
// 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);
}
输出:
-
I have removed the spacing between the hindi words because that's disturbing the logic, any how if you will able to put the different separator between words
Eg: if you used "," as separator then you will string will become as
NSString *hindi = @"hi - नमस्ते,Hindi - हिन्दी,Telugu - तेलुगु,how - कैसे,are - हैं,you - आप,go - जाना,going- जा रहा,translate - अनुवाद करना,good - अच्छा";then replace logic in above code as:
hindi = [hindi stringByReplacingOccurrencesOfString:@"- " withString:@","];
NSArray *mixArray = [hindi componentsSeparatedByString:@","];