AERP|01,KSE;04,NCEL;05,GSE;|<END>
這是我的字符串現在我想它在兩個數組一樣如何在iPhone中拆分字符串?
陣列1 = 01,04,05分裂。 數組2 = KSE,NCEL,GSE
,而忽略"AERP|" & "|<END>".
注:我的目標C的工作。
AERP|01,KSE;04,NCEL;05,GSE;|<END>
這是我的字符串現在我想它在兩個數組一樣如何在iPhone中拆分字符串?
陣列1 = 01,04,05分裂。 數組2 = KSE,NCEL,GSE
,而忽略"AERP|" & "|<END>".
注:我的目標C的工作。
假設|
,;
,,
是的重要性遞減分離,我會先移除開始和結束,然後分開數字/助記符對,然後分開對。它會去是這樣的:
NSString* input = @"AERP|01,KSE;04,NCEL;05,GSE;|<END>";
NSArray* splits = [input componentsSeparatedByString: @"|"];
// In real life, check that splits has three elements
NSString* body = [splits objectAtIndex: 1];
splits = [body componentsSeparatedByString: @";"];
NSMutableArray* numbers = [[NSMutableArray alloc] init];
NSMutableArray* mnemonics = [[NSMutableArray alloc] init];
for (NSString* item in splits)
{
NSArray* parts = [item componentsSeparatedByString: @","];
if ([parts count] == 2)
{
[numbers addObject: [parts objectAtIndex: 0]]; // Could convert the part to a number here
// with NSDecimalNumber numberWithString: or alternative
[mnemonics addObject: [parts objectAtIndex: 1]];
}
}
使用NSString
componentsSeparatedByCharactersInSet
- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator
要構建自己的NSCharacterSet
使用NSMutableCharacterSet
NSMutableCharacterSet *_alnum = [NSMutableCharacterSet [email protected]"|"];
或使用'-componentsSeparatedByString:' – JeremyP 2011-04-26 08:13:04
NSString *stringToParse = [string substringWithRange:NSMakeRange(5, [string length] - 7)];
/* stringToParse = @"01,KSE;04,NCEL;05,GSE" */
NSArray *keyValuePairs = [stringToParse componentsSeparatedByString:@";"];
NSMutableArray *indices = [NSMutableArray array];
NSMutableArray *labels = [NSMutableArray array];
for (NSString *keyValueString in keyValuePairs) {
NSArray *keyValuePairing = [keyValueString componentsSeparatedByString:@","];
[indices addObject:[keyValuePairing objectAtIndex:0]];
[labels addObject:[keyValuePairing objectAtIndex:1]];
}
NSString *astring= @"AERP|01,KSE;04,NCEL;05,GSE;|<END>";
NSArray *aq=[astring componentsSeparatedByString:@"|"];
NSString *sw=[aq objectAtIndex:1];
NSArray *aq2=[sw componentsSeparatedByString:@","];
NSArray *aq3=[[aq2 objectAtIndex:1] componentsSeparatedByString:@";"];
NSArray *aq4=[[aq2 objectAtIndex:2] componentsSeparatedByString:@";"];
NSMutableArray *a1,*a2;
a1=[NSMutableArray array];
a2=[NSMutableArray array];
[a1 addObject:[aq2 objectAtIndex:0]];
[a1 addObject:[aq3 objectAtIndex:1]];
[a1 addObject:[aq4 objectAtIndex:1]];
[a2 addObject:[aq3 objectAtIndex:0]];
[a2 addObject:[aq4 objectAtIndex:0]];
[a2 addObject:[aq2 objectAtIndex:3]];
修改數組的名字,因爲我已經在匆忙做了。
你嘗試過什麼不起作用,你需要幫助嗎?你看過NSString類的文檔嗎? – psychotik 2011-04-26 07:45:02