2012-08-28 17 views
10

mam 5 String chcę, że muszą one być sklep w singe NSString wszystkie wartości oddzielić z | znakjak dodać złączyć wiele NSString w jeden ciąg w iPhone

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

chcę to wszystko w pojedynczym NSString do przechowywania i wszystkie wartości oddzielone danym znakiem.

+0

"złączyć" to wszystko pod z NSDictionary. –

+0

w jednej nowej nazwie String FinalString – user1619187

+0

poprzez utworzenie nowego łańcucha zawierającego wszystkie te wartości i rozdzielenie ich za pomocą łańcucha separatora, zawsze trzeba będzie przeanalizować, podzielić, połączyć, bla bla. użyj NSDictionary, a otrzymasz i ustawisz je za pomocą klawiszy. –

Odpowiedz

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

Nie chcę tego w tablicy, chcę w NSString – user1619187

+13

Dlaczego czytasz tylko pierwszą linię? – DrummerB

+3

Końcowym produktem tego kodu jest ciąg znaków. Tablica jest etapem pośrednim. –

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

Połączony ciąg wygląda następująco @"Ali,Imran,AliImran,ImranAli,Ali Imran Jamshed";

+0

Nie **, ** ale ** | ** – Nitish

+0

to nie jest shwoing nic w NSLOg przy wydruku – user1619187

+0

Sądzę, że jest to to samo, co sugerował Drummer, co wcześniej było dla ciebie nie do przyjęcia. – Nitish

4

Domyślam się, co sugerował DrummerB, to najlepszy sposób. Musisz przechowywać ciągi w strukturze danych. Tablica lub słownik o to chodzi.
Jeśli chcesz tylko używać ciągów znaków, nie jest to niemożliwe, ale będzie to niemądre. Proszę bardzo:

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

Krótki rozwiązanie:

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