Iphone 将NSString转换为由特定字符分隔的NSDictionary

Iphone 将NSString转换为由特定字符分隔的NSDictionary,iphone,ios,objective-c,nsstring,nsdictionary,Iphone,Ios,Objective C,Nsstring,Nsdictionary,我需要将这个“5?8?519223cef9cee4df999436c5e8f3e96a?评估时间?60?2013-03-21”字符串转换为字典。以“?”分隔 字典应该是这样的 { sometext1 = "5", sometext2 = "8", sometext3 = "519223cef9cee4df999436c5e8f3e96a", sometext4 = "EVAL_TIME", sometext5 = "60", sometext6 =

我需要将这个“5?8?519223cef9cee4df999436c5e8f3e96a?评估时间?60?2013-03-21”字符串转换为字典。以“?”分隔

字典应该是这样的

{
    sometext1 = "5",
    sometext2 = "8",
    sometext3 = "519223cef9cee4df999436c5e8f3e96a",
    sometext4 = "EVAL_TIME",
    sometext5 = "60",
    sometext6 = "2013-03-21"
}

谢谢。

将字符串拆分为更小的字符串,并为它们循环。 就是这样

NSArray *objects = [inputString componentsSeparatedByString:@"?"];
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
int i = 1;
for (NSString *str in objects)
{
    [dict setObject:str forKey:[NSString stringWithFormat:@"sometext%d", i++]];
}

将字符串拆分为较小的字符串,并为其循环。 就是这样

NSArray *objects = [inputString componentsSeparatedByString:@"?"];
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
int i = 1;
for (NSString *str in objects)
{
    [dict setObject:str forKey:[NSString stringWithFormat:@"sometext%d", i++]];
}
试一试

试一试


首先用“?”将字符串分隔成几个数组

然后将字符串添加到字典中

像这样的事情:

NSString *str = @"5?8?519223cef9cee4df999436c5e8f3e96a?EVAL_TIME?60?2013-03-21";
NSArray *valueArray = [str componentsSeparatedByString:@"?"];
NSMutableArray *keyArray = [[NSMutableArray alloc] init];
for (int i = 0; i <[valueArray count]; i ++) {
    [keyArray addObject:[NSString stringWithFormat:@"sometext%d",i+1]];
}
NSDictionary *dic = [[NSDictionary alloc] initWithObjects:valueArray forKeys:keyArray];
NSString*str=@“5?8?519223cef9cee4df999436c5e8f3e96a?评估时间?60?2013-03-21”;
NSArray*valueArray=[str组件由字符串分隔:@“?”];
NSMutableArray*keyArray=[[NSMutableArray alloc]init];

对于(int i=0;i,首先通过“?”将字符串分隔为多个数组

然后将字符串添加到字典中

像这样的事情:

NSString *str = @"5?8?519223cef9cee4df999436c5e8f3e96a?EVAL_TIME?60?2013-03-21";
NSArray *valueArray = [str componentsSeparatedByString:@"?"];
NSMutableArray *keyArray = [[NSMutableArray alloc] init];
for (int i = 0; i <[valueArray count]; i ++) {
    [keyArray addObject:[NSString stringWithFormat:@"sometext%d",i+1]];
}
NSDictionary *dic = [[NSDictionary alloc] initWithObjects:valueArray forKeys:keyArray];
NSString*str=@“5?8?519223cef9cee4df999436c5e8f3e96a?评估时间?60?2013-03-21”;
NSArray*valueArray=[str组件由字符串分隔:@“?”];
NSMutableArray*keyArray=[[NSMutableArray alloc]init];

对于(int i=0;i对于未来:如果您要以JSON格式存储数据(更接近您现有的格式),那么在系统之间处理和传输将更加容易。您可以轻松地阅读它…使用NSJSONSerialization

对于未来:如果您要以JSON格式存储数据(更接近您现有的格式),系统之间的处理和传输会容易得多。你可以很容易地阅读它…使用NSJSONSerialization

你的逻辑很好,但是你有4-5个语法错误!!我已经纠正了这些错误。谢谢你,但是键必须是不同的。任何像xyz、abc等一些文本1、2、3都只是为了给你一个想法。@Muhammaddaadansari:你从哪里来的你得到那些密钥了吗?{cid=“5”,avid=“8”,sid=“519223cef9cee4df999436c5e8f3e96a”,TLicense=“EVAL_TIME”,LLicense=“60”,date=“2013-03-21”}。这就是我想要这本词典的方式。这些密钥是从我自己生成的,仅供将来使用,但我从服务器获取的字符串。我自己得到了答案。谢谢大家。:)这就是我正在做的NSString*testString=@“5?8?519223cef9cee4df999436c5e8f3e96a?评估时间?60?2013-03-21”;NSArray*list=[testString组件由字符串分隔:@“?”];NSLog(@“计数%d”,[list Count Count]);NSLog(@“字典%@),[NSDictionary Dictionary dictionaryWithObjects:列表分叉:[NSArrayWithObjects:@“cid”,“avid”,“sid”,@“tlicense”,@“llicense”,@“date”,nil]];你的逻辑很好,但是你有4-5个语法错误!!我已经纠正了这些错误。谢谢你,但是键必须是不同的。任何像xyz、abc等的东西1,2,3只是给你一个想法。@Muhammaddaadansari:你从哪里得到这些键?{cid=“5”,avid=“8”,sid=“519223cef9cee4df999436c5e8f3e96a”,TLicense=“EVAL_TIME”,LLicense=“60”,date=“2013-03-21”}。这就是我想要这本词典的方式。这些密钥是我自己生成的,仅供将来使用,但我从服务器获取的字符串。我自己得到了答案。谢谢大家。:)这就是我正在做的NSString*testString=@”5?8?519223cef9cee4df999436c5e8f3e96a评估时间?60?2013-03-21;NSArray*列表=[testString Components由字符串分隔:@”];NSLog(@“Count%d”,[list Count]);NSLog(@“Dictionary%@),[NSDictionary Dictionary Dictionary WithObjects:list Forkes:[NSArray WithObjects:@“cid”、@“avid”、@“sid”、@“tlicense”、@“llicense”、@“date”、nil]));@非常感谢您的好话。@Muhammaddsaadansari很高兴帮助您。快乐编码。@Muhammaddsaadansari非常感谢您的好话。@Muhammaddsaadansari很高兴帮助您。快乐编码。如果下面的任何答案帮助您,请接受一个,这样其他人就可以很容易地找到解决方案。如果下面的任何答案帮助您,请接受一个,这样其他人就可以很容易地找到解决方案e溶液