#import <Foundation/Foundation.h>
@interface NSString (Extension)
- (NSString *)normalizeFormC;
- (NSString *)stringByRemovingPercentEncodingIfNeeded;
@end
#import "NSString+Extension.h"
@implementation NSString (Extension)
- (NSString*)normalizeFormC {
NSMutableString* _norstr = [NSMutableString stringWithString:self];
CFStringNormalize((CFMutableStringRef)_norstr, kCFStringNormalizationFormC);
return [NSString stringWithString:_norstr];
}
- (NSString *)stringByRemovingPercentEncodingIfNeeded {
NSCharacterSet *allowedCharacterSet = [NSCharacterSet URLQueryAllowedCharacterSet];
NSCharacterSet *disallowedCharacterSet = [allowedCharacterSet invertedSet];
NSRange range = [self rangeOfCharacterFromSet:disallowedCharacterSet];
if (range.location != NSNotFound) {
return self.stringByRemovingPercentEncoding;
} else {
return self;
}
}
@end