将字符串存储为逗号分隔值

Posted

技术标签:

【中文标题】将字符串存储为逗号分隔值【英文标题】:Storing String as a comma separated values 【发布时间】:2016-04-26 13:13:19 【问题描述】:

我如下迭代一个 NSDictionary 并将值分配给一个字符串,如果它包含一个字符串 htttp。

for(id key in photos)

                     //NSLog(@"key=%@ value=%@", key, [photos objectForKey:key]);
    if ([[[photos objectForKey:key] stringByAppendingString: key] containsString:@"http"])
    photoUrl = [[photos objectForKey:key] stringByAppendingString: key];
                     
    NSLog(@"etf %@",photoUrl);

 
    如何创建逗号分隔的 url 并将其分配给 photoUrl。例如,一个 nsdictionary 可能包含多个 url,所以我想将所有 url 连接为逗号分隔值并稍后将其分配给 photoUrl? 以后如何检索这些逗号分隔值?

【问题讨论】:

photos 是字典中的键列表吗? 照片是 NSDictionary?你是如何遍历字典的?只有当您拥有字典的键数组时,您才能遍历字典 喜欢这样的“a,b,c,d....”? 是的,我想将其作为逗号分隔值并稍后解析 我基于key进行迭代 【参考方案1】:

在循环中创建一个数组,

NSArray *urls = [NSMutableArray array];
for (id key in photos) 
  NSString *photoUrl = [[photos[key] stringByAppendingString: key]
  if (photoUrl containsString:@"http"])
    urls appendItem[photoUrl];
  

然后你可以创建一个 CSV 字符串

NSString *csvUrls = [urls componentsJoinedByString:@","];

然后分解回来

NSArray *urls = [csvUrls componentsSeparatedByString:@","];

【讨论】:

【参考方案2】:

如果你是从某个数组中获取的

NSString *joinedComponents = [array componentsJoinedByString:@","];

否则你可以遍历一些你自己的集合

NSMutableString * string1 = [[NSMutableString alloc] initWithString:@"this is my string"];

[string1 appendString:@" with more strings attached"];

同样,您可以稍后将它们分开

NSArray *items = [string1 componentsSeparatedByString:@","];

将键值保存在字符串中并制作您的网址。

【讨论】:

以上是关于将字符串存储为逗号分隔值的主要内容,如果未能解决你的问题,请参考以下文章

oracle中PLSQL存储过程中如何使用逗号分隔的集合(逗号分隔字符串转换为一个集合)

如何在数字字段的条件下将逗号分隔的数字字符串传递给存储过程?

将逗号分隔值转换为双引号逗号分隔字符串

如何将字符串(包含逗号分隔值)转换为整数

XSLT 将嵌套的 xml 元素写为一个带有逗号分隔值字符串的元素

sql 将逗号分隔的字符串拆分为值列表(返回游标)