// // 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