2010-10-06 3 views
0
//Parse this shit 
//Create array of all items in order (with submatches still 
NSString *myregex1 = @"\\<([a-z0-9]+)\\sref\=\"([^\"]*)\">([^\<]*)\\<\\/\\1\>"; 
//Get all items in an array 
NSArray *items = [stringReply componentsMatchedByRegex:myregex1]; 
//Create string to hold all items in 
NSString *AllOrderItems; 

if ([items count] > 0) { 

    for (NSString *item in items) { 
     //NSLog(@"%d", i); 
     NSString *ref = [item stringByMatching:myregex1 capture:2]; 
     NSString *value = [item stringByMatching:myregex1 capture:3]; 
     NSLog(@"Current Item: %@ : %@", ref, value); 
     AllOrderItems = [NSString stringWithFormat:(@"%@%@: %@\n", AllOrderItems, ref, value)]; 
     OrderDetails.text = AllOrderItems; 
    } 
} 

Im Tring, чтобы получить каждое значение исх & в строку AllOrderItems, так что я могу показать его в TextViewДобавить каждый элемент в строку

Благодарности

:)

+1

Что собственно вопрос? – JeremyP

ответ

0

Я думаю, что вы хотите это:

//Parse this shit 
//Create array of all items in order (with submatches still 
NSString *myregex1 = @"\\<([a-z0-9]+)\\sref\=\"([^\"]*)\">([^\<]*)\\<\\/\\1\>"; 
//Get all items in an array 
NSArray *items = [stringReply componentsMatchedByRegex:myregex1]; 
//Create string to hold all items in 
NSString *allOrderItems = @""; // Intentionally existing but empty string! 

if ([items count] > 0) { 
    for (NSString *item in items) { 
     //NSLog(@"%d", i); 
     NSString *ref = [item stringByMatching:myregex1 capture:2]; 
     NSString *value = [item stringByMatching:myregex1 capture:3]; 
     NSLog(@"Current Item: %@ : %@", ref, value); 
     allOrderItems = [allOrderItems stringByAppendingFormat:(@"%@: %@\n", ref, value)]; 
    } 
    orderDetails.text = AllOrderItems; 
} 
+0

Как всегда \ n не создает новую строку:/ – user393273

+0

и ее не добавляя «:» – user393273

+0

Установили ли вы свойство 'numberOfLines' на' orderDetails'? По умолчанию установлено значение «1», что означает ровно одну строку. Установите его на '0' неограниченного размера. – PeyloW

0

Может быть с помощью NSArray-х componentsJoinedByString?

+0

Я думаю, что вы пропустили меня поняли, это строка, в которой мне нужно исправление: AllOrderItems = [NSString stringWithFormat: (@ "% @% @:% @ \ n", AllOrderItems, ref, value)]; Его не показаны все элементы внутри этой строки, как я спрашиваю – user393273

+0

Не могли бы вы показать пример – user393273

+0

NSLog работает на вас? вы вызываете этот метод из отдельного потока? –

1

AllOrderItems - это нуль для начала.

Затем вы создаете новую строку со значением AllOrderItems как одной из частей, которая равна нулю. Поэтому он присваивает, nil, ref, value. Затем вы делаете это снова, поэтому вы получаете нуль, ref, value, nil, ref value. Etc и т.д.

+2

Если вам повезет, это нуль. Если вы находитесь в контексте метода, то любое случайное значение находится в этой позиции в фрейме стека. – JeremyP

+0

Правда. Я пропустил это. – Jasarien

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