session-ios/SignalMessaging/categories/NSString+OWS.m
2017-12-05 11:19:11 -05:00

43 lines
979 B
Objective-C

//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
//
#import "NSString+OWS.h"
#import "UIView+OWS.h"
NS_ASSUME_NONNULL_BEGIN
@implementation NSString (OWS)
- (NSString *)ows_stripped
{
return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
- (NSString *)rtlSafeAppend:(NSString *)string referenceView:(UIView *)referenceView
{
OWSAssert(string);
OWSAssert(referenceView);
if ([referenceView isRTL]) {
return [string stringByAppendingString:self];
} else {
return [self stringByAppendingString:string];
}
}
- (NSString *)removeAllCharactersIn:(NSCharacterSet *)characterSet
{
ows_require(characterSet != nil);
return [[self componentsSeparatedByCharactersInSet:characterSet] componentsJoinedByString:@""];
}
- (NSString *)digitsOnly
{
return [self removeAllCharactersIn:[NSCharacterSet.decimalDigitCharacterSet invertedSet]];
}
@end
NS_ASSUME_NONNULL_END