我需要從字符串中得到像這樣的符號(「5,15,7-10」) 和符號,直到第一個逗號需要寫入第一個字符串,直到第二個字符串進入第二個字符串和符號分隔短劃線需要寫入數組,並重新計算第一個到最後一個的值。從NSString解析整數,包括一個範圍
-4
A
回答
1
您需要使用componentSeparatedByString:
NSString *list = @"5, 15, 7-10";
NSArray *listItems = [list componentsSeparatedByString:@", "];
這將返回一個數組,看起來像@[@"5", @"15", @"7-10"];
從我明白你的問題,應該工作。儘管你可能想要改進你的問題,但有點難以理解。如果你這樣做,我做了什麼沒有工作id很樂意修復解決方案。
編輯:下面的代碼你想要做什麼(我想):
NSString *list = @"5, 15, 7-10";
NSArray *listItems = [list componentsSeparatedByString:@", "];
NSMutableArray *expandedList = [[NSMutableArray alloc] init];
for(NSString *s in listItems){
NSRange found = [s rangeOfString:@"-"];
if (found.location == 1) {
NSArray *hyphenString = [s componentsSeparatedByString:@"-"];
NSInteger first = [[hyphenString objectAtIndex:0] intValue];
NSInteger last = [[hyphenString objectAtIndex:1] intValue];
[expandedList addObject:@(first)];
NSInteger trueDiff = (last - first) - 1;
int i = 0;
while (i < trueDiff){
first = first + 1;
[expandedList addObject:@(first)];
i++;
}
[expandedList addObject:@(last)];
} else {
[expandedList addObject:[NSNumber numberWithInt:[s intValue]]];
}
}
NSLog(@"%@", expandedList);
將輸出:
2013-08-17 21:12:54.579 NumWork[693:303] (
5,
15,
7,
8,
9,
10
)
+0
非常感謝。 但我需要返回兩個字符串5和15和數組,其中包含值從7到10. –
+0
是否7-10總是會在字符串的末尾? –
+0
不,它可能到處 –
相關問題
- 1. 是否有Perl模塊用於解析數字,包括範圍?
- 2. 不包括範圍
- 3. 解析逗號不被括號包圍
- 4. 添加一個範圍內的所有數字,包括數字
- 5. 給定一些整數範圍,找到每個範圍至少包含一個整數的最小集合
- 6. NG-包括使用$範圍
- 7. 變量範圍包括
- 8. 吳 - 包括丟失範圍
- 9. arc4random()範圍包括底片
- 10. NG-包括與範圍
- 11. 包括私人範圍
- 12. 從一行解析整數
- 13. iPhone:解析NSURL/NSString的整數(NSScanner?)
- 14. MySQL SELECT不包括幾個範圍
- 15. PHP解析包括
- 16. 從一個字符串中提取整數 - 包括負整數
- 17. 蟒,找到其中多個屬於一個範圍,範圍是從整數
- 18. 分割範圍包含多個範圍到一個範圍數組中?
- 19. 翻譯從一個數字範圍到另一個範圍
- 20. nsstring - 超出範圍
- 21. 找到一個範圍內的整數
- 22. 從Python全局範圍解析變量
- 23. Erlang透析器整數範圍
- 24. NSString範圍或索引超出範圍
- 25. 在C++中生成一個隨機數,包括一個負範圍
- 26. 解析爲整數時出現索引超出範圍錯誤
- 27. PHP範圍解析操作
- 28. pyparsing - 解析範圍變量
- 29. 將範圍變量名解析爲範圍函數?
- 30. 從右側解析NSString?
刪除和[重新發布您的問題(http://stackoverflow.com/questions/18294335/parsing-integers-including-a-range-from-nsstring)在這裏不受理。將來,請編輯您的問題。 –