2013-03-14 5 views
1

Мой массив как этотКак объединить значения NSArray, исключив скобки?

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

Я хочу, чтобы объединить все эти значения т.е., 123456789

Я попытался как этот NSString *str5=[array componentsJoinedByString:@" "];

, но я не получаю выход.

Может ли кто-нибудь предоставить мне некоторую информацию.

+0

Не могли бы вы вставить код для добавления значений в свой массив? потому что массив не хранит такие объекты, как это – Tendulkar

+3

Это не точное описание ваших массивов. Какие объекты содержатся в массивах? – trojanfoe

+0

Какой результат вы получаете? Объектами в массиве являются экземпляры NSString или NSNumber? Кажется, что ваш массив содержит 3 других массива? Это так? – Jean

ответ

0

попробовать, как это it'l дает ожидаемый выход, но я не знаю, это эффективный метод или нет,

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); 
0

Попробуйте для символов замены скобок с нулевыми значениями.

Код ::

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); 

Я заменил "(", ")", "" & "" с "" (нуль) значения

Надеемся , это поможет вам.
Спасибо.

3

Похоже, у вас есть NSArray из NSArray. Сначала пройдите по исходному NSArray и сгладьте его, затем примените componentsJoinedByString.

Создайте NSMutableArray, пройдите через свой исходный массив и позвоните по номеру addObjectsFromArray: с каждым подмассивом.

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

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

Это должно сработать.

Смежные вопросы