2012-08-28 15 views
10

tengo 5 cuerdas quiero que deben ser tienda en la chamusquina NSString todos los valores se separan con | signocómo agregar concatenar NSString múltiple en una cadena de iPhone

NSString *[email protected]"Ali"; 
    NSString *[email protected]"Imran"; 
    NSString *[email protected]"AliImran"; 
    NSString *[email protected]"ImranAli"; 
    NSString *[email protected]"Ali Imran Jamshed"; 

Quiero todo esto en un solo NSString para almacenar y todos los valores separados por el signo dado.

+0

"concatenar" todo esto en un NSDictionary. –

+0

en una nueva cadena String Name FinalString – user1619187

+0

haciendo una nueva cadena que contenga todos estos valores y separándolos por una cadena separadora, necesitará siempre analizar, dividir, fusionar, bla bla. use un NSDictionary y lo obtendrá y establecerá con las teclas. –

Respuesta

44
NSArray *myStrings = [[NSArray alloc] initWithObjects:first, second, third, fourth, fifth, nil]; 
NSString *joinedString = [myStrings componentsJoinedByString:@"|"]; 
// release myStrings if not using ARC. 
+0

no lo quiero en el arreglo que quiero en NSString – user1619187

+13

¿Por qué solo lee la primera línea? – DrummerB

+3

El producto final de este código es una cadena. La matriz es un paso intermedio. –

1
NSArray *stringsArray = [[NSArray alloc] initWithObjects:first, second, third, fourth, fifth, nil]; 
NSString *combinedString = [stringsArray componentsJoinedByString:@","]; 

La cadena combinada se parece a esto @"Ali,Imran,AliImran,ImranAli,Ali Imran Jamshed";

+0

No **, ** pero ** | ** – Nitish

+0

no está mostrando nada en NSLOg cuando imprime – user1619187

+0

Supongo que esto es lo mismo que sugirió Drummer que anteriormente era inaceptable para usted. – Nitish

4

Supongo que lo que DrummerB sugirió, es la mejor manera. Tienes que almacenar las cadenas en la estructura de datos. Matriz o diccionario para ese asunto.
Si solo quiere usar cadenas, no es imposible, pero no será aconsejable. Aquí van:

NSString*[email protected]"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"]; 
23
you can try .... 
NSString *joinString=[NSString stringWithFormat:@"%@|%@|%@|%@|%@",youstring1,youstring2,youstring3,youstring4,youstring5]; 
7

solución corta:

NSString *str = [@[nstring1, nstring2, nstring3] componentsJoinedByString:@","]; 
Cuestiones relacionadas