// // NSString+TrimmingAdditions.m // JobTalk // // Created by Xummer on 14-9-28. // Copyright (c) 2014年 BST. All rights reserved. // #import "NSString+TrimmingAdditions.h" @implementation NSString (TrimmingAdditions) - (NSString *)stringByTrimmingLeadingCharactersInSet:(NSCharacterSet *)characterSet { NSRange rangeOfFirstWantedCharacter = [self rangeOfCharacterFromSet:[characterSet invertedSet]]; if (rangeOfFirstWantedCharacter.location == NSNotFound) { return @""; } return [self substringFromIndex:rangeOfFirstWantedCharacter.location]; } - (NSString *)stringByTrimmingLeadingWhitespaceAndNewlineCharacters { return [self stringByTrimmingLeadingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]; } - (NSString *)stringByTrimmingTrailingCharactersInSet:(NSCharacterSet *)characterSet { NSRange rangeOfLastWantedCharacter = [self rangeOfCharacterFromSet:[characterSet invertedSet] options:NSBackwardsSearch]; if (rangeOfLastWantedCharacter.location == NSNotFound) { return @""; } return [self substringToIndex:rangeOfLastWantedCharacter.location+1]; // non-inclusive } - (NSString *)stringByTrimmingTrailingWhitespaceAndNewlineCharacters { return [self stringByTrimmingTrailingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]; } @end #import @implementation NSString (EncodeAndDecode) - (NSString *)MD5String { // Create pointer to the string as UTF8 const char *ptr = [self UTF8String]; // Create byte array of unsigned chars unsigned char md5Buffer[CC_MD5_DIGEST_LENGTH]; // Create 16 byte MD5 hash value, store in buffer CC_MD5(ptr, (CC_LONG)strlen(ptr), md5Buffer); // Convert MD5 value in the buffer to NSString of hex values NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) [output appendFormat:@"%02x",md5Buffer[i]]; return output; } - (NSString *)uppercaseMD5String { // return [[self MD5String] uppercaseString]; return [self MD5String]; } @end @implementation NSString (FileExt) - (BOOL)extensionIsImageType { NSString *ext = [[self pathExtension] lowercaseString]; if ([ext isEqualToString:@"jpeg"] || [ext isEqualToString:@"jpg"] || [ext isEqualToString:@"png"] ) { return YES; } return NO; } @end