I've searched high and low (or roundabouts in circles) for a built in method 
that will return the difference between two strings as a string. 

I hacked up this solution below, but it feels cludgy and isn't very robust 
(punctuation will mess it up a little); worse, I can't help feeling I must be 
reinventing the wheel. Finding the string that is the difference between two 
other strings must be a basic need. How do you guys do this? 



-(NSString *)getDifference: (NSString *)aString and:(NSString *)anotherString {
    int i = aString.length;
    int j = anotherString.length;
    NSString *result, *longest, *shortest;

    if (i == j) {
        result = @"";
        return result;
    }

    if (i > j) {
        longest = aString;
        shortest = anotherString;
    } else {
        longest = anotherString;
        shortest = aString;
    }

    NSArray *fa = [longest componentsSeparatedByString: @" " ];
    NSArray *sa = [shortest componentsSeparatedByString: @" "];
    NSMutableArray *remainder = [NSMutableArray arrayWithArray:fa];
    [remainder removeObjectsInArray:sa];
    result = [remainder componentsJoinedByString:@" "];
    return result;

}

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to