Raf*_*eno 22 arrays split token nsstring nsscanner
我正在开发一个旅行应用程序,我必须阅读包含所有州和国家的txt文件,因为您可以注意到这是一个非常大的文件,无论如何,这是文件内部文本的示例:
Zakinthos(ZTH),希腊
Zanesville(ZZV),美国
Zanjan(JWN),IRAN 
Zanzibar(ZNZ),TANZANIA 
......
现在我正在阅读文件没有问题,但我不知道如何创建两个数组,一个与州,另一个与国家,所以我可以在文本自动完成时将它们显示在表中.
我已经尝试使用NSScanner使用","作为分隔符,但我不知道如何使其工作,我也尝试使用NSString方法没有结果.
欢迎任何帮助,谢谢你提前!!!
顺便说一下我的英语XD
hsp*_*ain 71
将NSString拆分为NSArray的最简单方法如下:
NSString *string = @"Zakinthos (ZTH),GREECE";
NSArray *stringArray = [string componentsSeparatedByString: @","];
这应该适合你.你试过这个吗?
为了扩展hspain的答案,并使解决方案更符合问题,我将向您介绍以下内容
NSString *string = @"Zakinthos (ZTH),GREECE";
NSArray *stringArray = [string componentsSeparatedByString: @","];
这给你一个2元素数组:[@"Zakinthos(ZTH)",@"GREECE"];
从这里你可以很容易地到达这个国家.
NSString *countryString = stringArray[1]; // GREECE
并重复该过程以进一步完善:
NSArray *stateArray = [(NSString*)stringArray[0] componentsSeparatedByString:@" "];
stateArray现在看起来像这样[@"Zakinthos",@"(ZTH)"];
NSString *stateString = stateArray[0]; // Zakinthos
现在你将Country和State分隔成他们自己的字符串,你可以用这样建立新的数组:
NSMutableArray *countryArray = [NSMutableArray arrayWithObjects:countryString, nil];
NSMutableArray *stateArray = [NSMutableArray arrayWithObjects:stateString, nil];
在处理位置文档时,可以通过以下方式将更多国家/地区和状态添加到其正确的数组中:
[countryArray addObject:newCountryString];
[stateArray addObject:newStateString];