开发者

How can I generate a comma-separated string in Objective-C?

I am trying to create comma separated string. e.g. abc,pqr,xyz

I am parsing开发者_运维技巧 the xml and want to generate the comma separated string of the values of nodes in xml.

I am doing the following:

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

I am getting different nodes value in strTableColumn while parsing and want to generate comma separated of this. Please help.


I would do to it like this. Before you start your XML processing, create a mutable array to hold each "Column" value (probably want this to be an iVar in your parser class):

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

Then parse the XML, adding each string to the array:

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

When you're done, create the comma-separated string and release the array:

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


You can use the following code:

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

Then append one by one string.


use NSMutableString

then you can use

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

in this way your strings are separated by comma


This method will return you the nsmutablestring with comma separated values from an array

-(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;
}


First thought can be that you parse the data and append commas using the NSString append methods. But that can have extra checks. So better solution is to

Parse data -> Store into array -> Add comma separators -> Finally store in string

// 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:@","];
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜