2010-10-21 9 views

Antwort

29

Dies sollte auch den Trick tun:

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

Ja. Das hat funktioniert. Vielen Dank!!! – Abhinav

3

Sie könnten den Teilstring an den Anfang des Bereichs und den Teilstring vom Ende des Bereichs abrufen und sie miteinander verketten.

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

Sie könnten auch in ein NSMutableString drehen und the -deleteCharactersInRange: method verwenden, die dies genau funktioniert.

NSString* stringByRemovingRange(NSString* theString, NSRange theRange) { 
    NSMutableString* mstr = [theString mutableCopy]; 
    [mstr deleteCharactersInRange:theRange]; 
    return [mstr autorelease]; 
} 
-1

Vielleicht können Sie dieses Stück Code verwenden: Diese in eine Liste sieht, die einen Code hat: a, b, c, d ,. .. und wenn der letzte Code ein d .. ist, wird der Code e hinzufügen.

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

'führen'? "Listings"? Ok, 8 Jahre später und das Poster scheint in 7 Jahren nicht auf der Seite zu sein ... aber was ist das für ein Chaos? Weder der darin enthaltene Code noch die Beschreibung haben etwas mit der gestellten Frage zu tun. – mah

Verwandte Themen