NewsBlur-viq/clients/ios/Other Sources/StringHelper.m

73 lines
2.3 KiB
Objective-C

//
// StringHelper.m
// IOSBoilerplate
//
// Copyright (c) 2011 Alberto Gimeno Brieba
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
//
#import "StringHelper.h"
@implementation NSString (helper)
- (NSString*)substringFrom:(NSInteger)a to:(NSInteger)b {
NSRange r;
r.location = a;
r.length = b - a;
return [self substringWithRange:r];
}
- (NSInteger)indexOf:(NSString*)substring from:(NSInteger)starts {
NSRange r;
r.location = starts;
r.length = [self length] - r.location;
NSRange index = [self rangeOfString:substring options:NSLiteralSearch range:r];
if (index.location == NSNotFound) {
return -1;
}
return index.location + index.length;
}
- (NSString*)trim {
return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
- (BOOL)startsWith:(NSString*)s {
if([self length] < [s length]) return NO;
return [s isEqualToString:[self substringFrom:0 to:[s length]]];
}
- (BOOL)containsString:(NSString *)aString
{
NSRange range = [[self lowercaseString] rangeOfString:[aString lowercaseString]];
return range.location != NSNotFound;
}
- (NSString *)urlEncode
{
NSString *encodedString = [self stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
return encodedString;
}
@end