2011-04-13 91 views
2

我想创建逗号分隔的字符串。例如abc,pqr,xyz
我正在解析xml并希望生成xml中节点值的逗号分隔字符串。如何在Objective-C中生成逗号分隔的字符串?

我做了以下内容:

if([elementName isEqualToString:@"Column"]) 
     NSString *strTableColumn = [attributeDict objectForKey:@"value"]; 

我在strTableColumn得到不同节点的价值,同时分析和要生成逗号分隔此。请帮忙。

+0

的这些值由空间分隔的存储?或者一次只有一个值来自strTableColumn变量? – Ravin 2011-04-13 05:10:28

+0

您应该按下勾号按钮来接受答案。 [这个答案](http://stackoverflow.com/a/5645211/377384)看起来不错。 – 2012-10-19 04:08:44

回答

1

使用的NSMutableString

,那么你可以通过这种方式你的字符串是由逗号

分开使用

[yourMutableString appendString:@","];//there is a comma 
[yourMutableString appendString:someOtherString]; 

4

您可以使用下面的代码:

NSString *timeCreated = elementName; 
NSArray *timeArray = [timeCreated componentsSeparatedByString:@","];   
NSString *t = [timeArray objectAtIndex:0]; 
NSString *t1 = [timeArray objectAtindex:1]; 

然后追加一个一个的字符串。

+0

嘿伙计thanx很多。我会试试这个.. – neel 2011-04-13 05:16:30

+0

你新堆栈溢出...如果你真的喜欢我的答案,然后点击检查答案.... – Hiren 2011-04-13 05:36:27

+0

“你新堆栈溢出...如果你真的像我的答案,然后点击检查答案“。 SO @鼓励你写完整的单词。这不是Twitter或短信。 – 2011-04-13 06:02:32

23

我会这样做。在你开始你的XML处理,创建一个可变数组来保存每个“列”值(可能想这是你的解析器类伊娃):

NSMutableArray *columns = [[NSMutableArray alloc] init]; 

然后解析XML,将每个字符串数组:

if([elementName isEqualToString:@"Column"]) { 
    [columns addObject:[attributeDict objectForKey:@"value"]]; 
} 

当您完成后,创建逗号分隔的字符串,并释放数组:

NSString *strTableColumn = [columns componentsJoinedByString:@","]; 
[columns release]; 
columns = nil; 
0

此方法将返回从逗号分隔值的NSMutableString一个数组

-(NSMutableString *)strMutableFromArray:(NSMutableArray *)arr withSeperater:(NSString *)saperator 
{ 
    NSMutableString *strResult = [NSMutableString string]; 

    for (int j=0; j<[arr count]; j++) 
{ 
    NSString *strBar = [arr objectAtIndex:j]; 
    [strResult appendString:[NSString stringWithFormat:@"%@",strBar]]; 
    if (j != [arr count]-1) 
    { 
     [strResult appendString:[NSString stringWithFormat:@"%@",seperator]]; 
    } 
} 
return strResult; 
} 
0

首先想到的可能是您解析数据并使用NSString追加方法追加逗号。但是这可以进行额外的检查。所以,更好的办法是

解析数据 - >存储到数组 - >添加逗号分隔符 - >最后在字符串

// Parse data -> Store into array 
NSMutableArray *arrayOfColumns = [[NSMutableArray alloc] init]; 
if([elementName isEqualToString:@"Column"]){ 
    [arrayOfColumns addObject:[attributeDict objectForKey:@"value"]]; 
} 
// Add comma separators -> Finally store in string 
NSString *strTableColumn = [arrayOfColumns componentsJoinedByString:@","];