mirror of
https://github.com/samsonjs/samhuri.net-ios.git
synced 2026-03-27 09:45:48 +00:00
61 lines
1.6 KiB
Objective-C
61 lines
1.6 KiB
Objective-C
//
|
|
// NSString+ObjectiveSugar.m
|
|
// SampleProject
|
|
//
|
|
// Created by Neil on 05/12/2012.
|
|
// Copyright (c) 2012 @mneorr | mneorr.com. All rights reserved.
|
|
//
|
|
|
|
#import "NSString+ObjectiveSugar.h"
|
|
#import "NSArray+ObjectiveSugar.h"
|
|
|
|
static NSString *const UNDERSCORE = @"_";
|
|
static NSString *const SPACE = @" ";
|
|
static NSString *const EMPTY_STRING = @"";
|
|
|
|
NSString *NSStringWithFormat(NSString *formatString, ...) {
|
|
va_list args;
|
|
va_start(args, formatString);
|
|
|
|
NSString *string = [[NSString alloc] initWithFormat:formatString arguments:args];
|
|
|
|
va_end(args);
|
|
|
|
#if defined(__has_feature) && __has_feature(objc_arc)
|
|
return string;
|
|
#else
|
|
return [string autorelease];
|
|
#endif
|
|
}
|
|
|
|
|
|
@implementation NSString(Additions)
|
|
|
|
- (NSArray *)split {
|
|
NSArray *result = [self componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
|
|
return [result select:^BOOL(NSString *string) {
|
|
return string.length > 0;
|
|
}];
|
|
}
|
|
|
|
- (NSArray *)split:(NSString *)delimiter {
|
|
return [self componentsSeparatedByString:delimiter];
|
|
}
|
|
|
|
- (NSString *)camelCase {
|
|
NSString *spaced = [self stringByReplacingOccurrencesOfString:UNDERSCORE withString:SPACE];
|
|
NSString *capitalized = [spaced capitalizedString];
|
|
|
|
return [capitalized stringByReplacingOccurrencesOfString:SPACE withString:EMPTY_STRING];
|
|
}
|
|
|
|
- (BOOL)containsString:(NSString *) string {
|
|
NSRange range = [self rangeOfString:string options:NSCaseInsensitiveSearch];
|
|
return range.location != NSNotFound;
|
|
}
|
|
|
|
- (NSString *)strip {
|
|
return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
|
|
}
|
|
|
|
@end
|