2011-04-13 92 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:@","];