2014-01-08 38 views
0

例如我如何找到一個單詞,並在第一次出現單詞後取出所有字符,但在出現不同單詞後停止?

NSString *string = @"I need help finding a string"; 
NSString *newString = @"need"; 

我需要這不僅是爲了工作,該字符串工作。一個例子是採取一個字符串,並刪除單詞「我」之後和單詞「幫助」之前的所有內容。 非常感謝!

從評論感動的可讀性:

NSString *string = @"I need help finding a string"; 
NSRange rr2 = [TWEET rangeOfString:@"I "]; 
NSRange rr3 = [TWEET rangeOfString:@" help"]; 
int lengt = rr3.location - rr2.location; 
int location = rr2.location + rr2.length; 
NSRange aa; 
aa.location = location; 
aa.length = lengt; 
NSString *link; 
link = [TWEET substringWithRange:aa]; 
NSLog(@"The link is %@", link); 
+0

請告訴我們如何找到從源字符串的目標詞的首次出現的位置。 –

+0

我道歉。 'NSString * string = @「我需要幫助找到一個字符串」; NSRange rr2 = [TWEET rangeOfString:@「I」]; NSRange rr3 = [TWEET rangeOfString:@「help」]; int lengt = rr3.location - rr2.location; int location = rr2.location + rr2.length; NSRange aa; aa.location = location; aa.length = lengt; NSString * link; link = [TWEET substringWithRange:aa]; NSLog(@「鏈接是%@」,鏈接);' – user3155477

回答

0

一種方法是分割字符串爲單個單詞,並通過它遍歷,首先搜索的第一個字,同時加入的每一個字一個新的字符串直到找到它並搜索第二個單詞,然後發現只添加其餘單詞。

這可能看起來像這樣的代碼:

NSString *myString = @"I need help finding a string"; 

    NSString *firstWord = @"need"; 

    NSString *secondWord = @"a"; 

    NSMutableString *newString = [NSMutableString stringWithString:@""]; 

    int index = 0; 

    for (NSString *word in [myString componentsSeparatedByString:@" "]) { 
     if(index == 0) { 
      if([word isEqualToString:firstWord]) 
       index = 1; 
      [newString appendFormat:@"%@ ", word]; 
     } 
     else if(index == 1) { 
      if([word isEqualToString:secondWord]) 
       index = 2; 
     } 
     else 
      [newString appendFormat:@"%@ ", word]; 

    } 
相關問題