14

我有 5 个字符串,我希望它们必须存储在单个 NSString 中,所有值都用|符号分开

   NSString *first=@"Ali";
   NSString *second=@"Imran";
   NSString *third=@"AliImran";
   NSString *fourth=@"ImranAli";
   NSString *fifth=@"Ali Imran Jamshed";

我希望将所有这些存储在单个 NSString 中,并且所有值都由给定符号分隔。

4

6 回答 6

47
NSArray *myStrings = [[NSArray alloc] initWithObjects:first, second, third, fourth, fifth, nil];
NSString *joinedString = [myStrings componentsJoinedByString:@"|"];
// release myStrings if not using ARC.
于 2012-08-28T09:54:59.330 回答
30
you can try ....
NSString *joinString=[NSString stringWithFormat:@"%@|%@|%@|%@|%@",youstring1,youstring2,youstring3,youstring4,youstring5];
于 2013-04-16T03:24:29.287 回答
10

简短的解决方案:

NSString *str = [@[nstring1, nstring2, nstring3] componentsJoinedByString:@","];
于 2014-04-02T09:28:31.877 回答
4

我猜 DrummerB 的建议是最好的方法。您必须将字符串存储在数据结构中。数组或字典。
如果您只想使用字符串,这并非不可能,但这是不明智的。干得好 :

NSString*first=@"Ali";  
first = [first stringByAppendingString:@"|"];
first = [first stringByAppendingString:@"Imran"];
first = [first stringByAppendingString:@"|"];
first = [first stringByAppendingString:@"AliImran"];
first = [first stringByAppendingString:@"|"];
first = [first stringByAppendingString:@"ImranAli"];
first = [first stringByAppendingString:@"|"];
first = [first stringByAppendingString:@"Ali Imran Jamshed"];
于 2012-08-28T10:05:23.820 回答
1
NSArray *stringsArray = [[NSArray alloc] initWithObjects:first, second, third, fourth, fifth, nil];
NSString *combinedString = [stringsArray componentsJoinedByString:@","];

组合的字符串如下所示@"Ali,Imran,AliImran,ImranAli,Ali Imran Jamshed"

于 2012-08-28T09:59:34.597 回答
1

为了改进 Nitish 的答案,您可以按照以下步骤减少行数:

NSString *first=@"Ali";  
first = [first stringByAppendingString:[@"|" stringByAppendingString:[@"Imran" stringByAppendingString:@"|"]]];
.
于 2018-05-04T09:28:25.043 回答