2013-02-13 24 views
-2

我有一個可以包含一個或多個字符串的數組。這是我輸入:切割數組中的對象

51403423 0001051629 1302130622 TOMTOM101訂購51403423-3-179178687:ontvangen
51403423 0001051629 1302130644 TOMTOM241訂購51403423-3-179178687:gestart
51403423 0001051629 1302130645 TOMTOM241訂購51403423-3-179178687: geschatte aankomst 7:33,57公里運BES
51403423 0001051629 1302130937 TOMTOM241訂購51403423-3-179178687:gestart
51403423 0001051629 1302130951 TOMTOM249訂購51403423-3-179178687:voltooid

這些字符串從一個大的文本文件過濾這樣的:

NSData *tmpData = [NSData dataWithContentsOfURL:[NSURL URLWithString:trackTraceFileUrlName] ]; 
    NSLog(@"%@",trackTraceFileUrlName); 
    //convert data to string 
    NSString *tmpString = [[NSString alloc] initWithData:tmpData encoding:NSUTF8StringEncoding]; 
    NSArray *piecesArray = [tmpString componentsSeparatedByString:@"\n"]; 
    NSMutableArray *trackTraceContent = [NSMutableArray arrayWithArray:piecesArray]; 
    NSLog(@"%@",trackTraceContent); 
    /*Filtering array for referance*/ 
    NSPredicate *findStringWithReference = [NSPredicate predicateWithFormat:@"SELF contains[c] %@",cRText.text]; 
    NSArray *trackTraceContentFiltered = [trackTraceContent filteredArrayUsingPredicate:findStringWithReference]; 

    /*Filtering array for Collected status*/ 
    NSPredicate *findStringWithStatusCollected = [NSPredicate predicateWithFormat:@"SELF contains[c] 'TOMTOM229'"]; 
    NSArray *filteredArrayOnStatusCollected = [trackTraceContentFiltered filteredArrayUsingPredicate:findStringWithStatusCollected] 
    ; 

結果從過濾文本文件將包含過濾的對象的數組。這將是這樣的:

filteredArrayOnStatusCollected: 「51403423 0001051629 1302121101 TOMTOM229訂購51403423-2-477100555:voltooid」

現在我想sepperate這個對象,所以我可以把部分地方說1302121101成一個標籤。我將如何做到這一點?

+3

對象是字符串嗎?你用什麼數據結構來保存這個對象,這一切意味着什麼? – 2013-02-13 14:27:52

+0

是的,物體看起來並不像那樣。 – trojanfoe 2013-02-13 14:29:02

+0

@DF是的,它基本上是從一個大文本文件中過濾出的一行文本。 – 2013-02-13 14:29:09

回答

0

如果對象是一個字符串,它全部由空格分隔,可以通過調用

NSArray *components = [string componentsSeparatedByString:@" "]; 

然後找出獲得「標記」的數組你如何得到明確的1302121101完全依賴如果您正試圖訪問這些組件的靜態指標,或者如果你是專爲文本

+0

看起來有點複雜;這裏有一個'Order'關鍵字以及2個尾隨':'字符來壓扁。 – trojanfoe 2013-02-13 14:36:35

+0

看到我編輯的問題。那麼字符串1302121101就代表一個日期(yy/mm/dd/hh/mm),所以每次都會有所不同 – 2013-02-13 14:37:55

+0

直到他提供了一個更爲通用的解釋他試圖完成的事情,這是關於最好的答案給予 – 2013-02-13 14:38:07

0
theLable.text = [[theString componentsSeparatedBySring:@" "] objectAtIndex:2]; 

與theLable beeing一個UILable*和theString爲NSString*期待。