2010-10-21 41 views

回答

29

這也應該做的伎倆:

NSString *result = [baseString stringByReplacingCharactersInRange:range withString:@""]; 
+0

是的。這工作。謝謝!!! – Abhinav 2010-10-23 00:24:56

3

您可以將子字符串獲取到範圍的起始位置,並將範圍末尾的子字符串連接在一起。

NSString* stringByRemovingRange(NSString* theString, NSRange theRange) { 
    NSString* part1 = [theString substringToIndex:theRange.location]; 
    NSString* part2 = [theString substringFromIndex:theRange.location+theRange.length]; 
    return [part1 stringByAppendingString:part2]; 
} 

你也可以把它變成一個的NSMutableString,並使用the -deleteCharactersInRange: method這不正是這樣。

​​
-1

也許你可以使用這段代碼: 這看起來成具有代碼列表:A,B,C,d ,. .. 如果最後的代碼是d ..它將添加代碼e。

NSString *alphabet = @"ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
    NSUInteger i, count = [lead count]; 
    for (i = 0; i < count; i++) { 
     Listings * l = [lead objectAtIndex:i]; 
     NSUInteger location = [alphabet rangeOfString:l.code].location + 1; 
     if(!([l.code isEqualToString:@"X"])) 
     { 
      if(!(location -1 == i)) 
      { 
       NSRange range = {location - 2,1}; 
       NSString *newCode = [alphabet substringWithRange:range]; 
       l.code = newCode; 

      } 
     } 
+0

'lead'? 'Listings'?好吧,8年後,這張海報已經7年沒有出現在網站上了......但這是怎麼一回事?其中的代碼和描述都與被問到的問題沒有任何關係。 – mah 2018-03-10 17:24:09

相關問題