我正在尝试创建逗号分隔的字符串。例如ABC,PQR,XYZ
我正在解析xml,并希望生成xml中节点值的逗号分隔字符串。
我正在做以下事情:
if([elementName isEqualToString:@"Column"])
NSString *strTableColumn = [attributeDict objectForKey:@"value"];
我在解析时会在strTableColumn
中获得不同的节点值,并希望生成逗号分隔。请帮忙。
答案 0 :(得分:23)
我会这样做。在开始XML处理之前,创建一个可变数组来保存每个“Column”值(可能希望它在你的解析器类中是一个iVar):
NSMutableArray *columns = [[NSMutableArray alloc] init];
然后解析XML,将每个字符串添加到数组中:
if([elementName isEqualToString:@"Column"]) {
[columns addObject:[attributeDict objectForKey:@"value"]];
}
完成后,创建逗号分隔的字符串并释放数组:
NSString *strTableColumn = [columns componentsJoinedByString:@","];
[columns release];
columns = nil;
答案 1 :(得分:4)
您可以使用以下代码:
NSString *timeCreated = elementName;
NSArray *timeArray = [timeCreated componentsSeparatedByString:@","];
NSString *t = [timeArray objectAtIndex:0];
NSString *t1 = [timeArray objectAtindex:1];
然后逐个追加。
答案 2 :(得分:1)
使用NSMutableString
然后你可以使用
[yourMutableString appendString:@","];//there is a comma
[yourMutableString appendString:someOtherString];
这样你的字符串就用逗号分隔
答案 3 :(得分: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;
}
答案 4 :(得分:0)
首先想到的是你可以解析数据并使用NSString append方法附加逗号。但那可以有额外的检查。所以更好的解决方案是
解析数据 - &gt;存储到数组 - &gt;添加逗号分隔符 - &gt;最后存储在字符串
中// 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:@","];