|  |  |  | // | 
					
						
							|  |  |  | //  Copyright (c) 2018 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); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return [self rtlSafeAppend:string isRTL:referenceView.isRTL]; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - (NSString *)rtlSafeAppend:(NSString *)string isRTL:(BOOL)isRTL | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     OWSAssert(string); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if (isRTL) { | 
					
						
							|  |  |  |         return [string stringByAppendingString:self]; | 
					
						
							|  |  |  |     } else { | 
					
						
							|  |  |  |         return [self stringByAppendingString:string]; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - (NSString *)removeAllCharactersIn:(NSCharacterSet *)characterSet | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     OWSAssert(characterSet); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return [[self componentsSeparatedByCharactersInSet:characterSet] componentsJoinedByString:@""]; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - (NSString *)digitsOnly | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     return [self removeAllCharactersIn:[NSCharacterSet.decimalDigitCharacterSet invertedSet]]; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | NS_ASSUME_NONNULL_END |