【问题标题】:How to concatenate NSArray values by excluding brackets?如何通过排除括号来连接 NSArray 值?
【发布时间】:2013-03-14 09:13:40
【问题描述】:

我的数组是这样的

(1,2,3,)
(4,5,6,)
(7,8,9,)

我想连接所有这些值,即;123456789

我试过这样NSString *str5=[array componentsJoinedByString:@" "];

但我没有得到输出。

谁能给我一些信息。

【问题讨论】:

  • 您能粘贴将值添加到数组的代码吗?因为数组不存储这样的对象
  • 这不是对您的阵列的准确描述。数组中包含哪些对象?
  • 你得到什么输出?数组中的对象,它们是 NSString 还是 NSNumber 的实例?您的数组似乎包含 3 个其他数组?是这样吗?
  • 你能解释清楚吗,以便我可以帮助你,因为数组不以上述格式存储对象
  • @Sunny 请理解,SO 不欢迎这种唠叨。 Sahara Pune 会看到您的帖子并自行决定是否对他有帮助。

标签: ios objective-c nsarray


【解决方案1】:

看起来您有一个 NSArrayNSArray。首先循环遍历原始NSArray 并将其展平,然后应用componentsJoinedByString

创建一个NSMutableArray,循环访问您的原始数组并为每个子数组调用addObjectsFromArray:

NSMutableArray *flattenArray = [[NSMutableArray alloc] init];
for(NSArray *array in originalArray)
{
    [flattenArray addObjectsFromArray: array];
}

NSString *str5 = [flattenArray componentsJoinedByString:@" "];

这应该可行。

【讨论】:

    【解决方案2】:

    像这样尝试它会给出预期的输出,但我不知道它是否有效,

    NSArray *arr=[[NSArray alloc]initWithObjects:@"(1,2,3)",@"(4,5,6)", nil];
        NSString *str=[arr componentsJoinedByString:@""];
        NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@",()"];
        str = [[str componentsSeparatedByCharactersInSet: doNotWant] componentsJoinedByString: @""];
        NSLog(@"%@",str);
    

    【讨论】:

      【解决方案3】:

      试试这个用空值替换括号的字符。

      代码::

      NSArray *arr = [[NSArray alloc] initWithObjects:@"(1, 2, 3, )", @"(4, 5, 6, )", @"(7, 8, 9, )", nil];
      
      for (int i = 0; i < [arr count]; i++) {
          NSLog (@"==> %@", [or objectAtIndex:i]);
      }
      
      NSString *str5 = [arr componentsJoinedByString:@" "];
      NSLog(@" ==> %@", str5);
      
      str5 = [str5 stringByReplacingOccurrencesOfString:@"(" withString:@""];
      str5 = [str5 stringByReplacingOccurrencesOfString:@" " withString:@""];
      str5 = [str5 stringByReplacingOccurrencesOfString:@")" withString:@""];
      str5 = [str5 stringByReplacingOccurrencesOfString:@"," withString:@""];
      
      //Or Try this
      NSCharacterSet *doNotWantChars = [NSCharacterSet characterSetWithCharactersInString:@",() "];
      str5 = [[str5 componentsSeparatedByCharactersInSet: doNotWantChars] componentsJoinedByString: @""];
      NSLog(@" ==> %@", str5);
      
      NSLog(@"Output :: %@", str5);
      

      我已将 "(", ")", " " & "," 替换为 ""(null) 值

      希望对您有所帮助。
      谢谢。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-06
        • 1970-01-01
        • 1970-01-01
        • 2015-07-29
        • 2014-08-13
        • 2013-07-23
        • 2021-09-22
        相关资源
        最近更新 更多