我有这个nsstring
NSString * countryStr = @"6023117,159,en_US,Seychelles,SC,Seychelles,6023185,95,en_US,Kuwait,KW,Kuwait,6023182,172,en_US,Swaziland,SZ,Swaziland,6023185,157,en_US,Saudi Arabia,SA,Saudi Arabia,6023182,177,en_US,Tanzania,TZ,Tanzania,6023185,179,en_US,Togo,TG,Togo,6023185,87,en_US,Cote d'Ivoire,CI,Cote d'Ivoire";
现在我想只显示以" en_US"为后缀的国家/地区。 任何人都可以告诉我如何拆分该字符串以获得国家。
我确实喜欢这个
NSError * error;
NSString* imageName = [[NSBundle mainBundle] pathForResource:@"CountryList" ofType:@"txt"];
NSString * countrStr = [NSString stringWithContentsOfFile:imageName encoding:NSStringEncodingConversionAllowLossy error:&error];
NSArray * dfd = [countrStr componentsSeparatedByString:@"en_US"];
for(int i=0;i<dfd.count;i++)
{
NSString * nama = [dfd objectAtIndex:1];
NSArray * djk = [nama componentsSeparatedByString:@","];
NSString * aksjd = [djk objectAtIndex:1];
}
答案 0 :(得分:1)
最好的方法是
NSString *string = [NSString stringWithFormat: @"%@, %@, %@", var1, var2, var3];
请原谅格式/语法错误。通过iPhone输入。但是如果有任何错误,请在apple开发者页面的iOS文档中查找stringWithFormat:以进行更正。
答案 1 :(得分:1)
你可以这样做;
NSString * countryStr = @"6023117,159,en_US,Seychelles,SC,Seychelles,6023185,95,en_US,Kuwait,KW,Kuwait,6023182,172,en_US,Swaziland,SZ,Swaziland,6023185,157,en_US,Saudi Arabia,SA,Saudi Arabia,6023182,177,en_US,Tanzania,TZ,Tanzania,6023185,179,en_US,Togo,TG,Togo,6023185,87,en_US,Cote d'Ivoire,CI,Cote d'Ivoire";
NSArray * arrData = [countryStr componentsSeparatedByString:@","];;//[countryStr componentsSeparatedByString:@"en_US"];
for(int i=0;i<arrData.count;i++)
{
NSString * str = [arrData objectAtIndex:i];
if ([str isEqualToString:@"en_US"] && i<arrData.count-1)
{
NSString* countryName = [arrData objectAtIndex:i+1];
NSLog(@"countryName %@", countryName);
}
}
但是您应该管理文件中的数据,从资源加载。
答案 2 :(得分:0)
您的字符串似乎具有以下模式:
所以你可以做的就是使用这样的循环:
for (int i = 0; i < dfd.count; i += 6) {
if ( dfd[i + 2] ) } // check the country code at index i + 2
// Do something
}
}