Skip to content

Commit

Permalink
Add new methods to NSString extensions 2 of 2
Browse files Browse the repository at this point in the history
New methods for stripping leading and/or trailing characters from string.
  • Loading branch information
AnotherCommander authored Sep 23, 2024
1 parent 1671163 commit 7b8f5ec
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions src/Core/NSStringOOExtensions.m
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,36 @@ - (uint32_t) oo_hash
return hash;
}


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


Expand Down

0 comments on commit 7b8f5ec

Please sign in to comment.