Shortcut to generate an NSRange for entire length of NSString?
Function? Category method?
- (NSRange)fullRange
{
return (NSRange){0, [self length]};
}
[myString replaceOccurrencesOfString:@"replace_me"
withString:replacementString
options:NSCaseInsensitiveSearch
range:[myString fullRange]];
Swift 4+, useful for NSRegularExpression
and NSAttributedString
extension String {
var nsRange : NSRange {
return NSRange(self.startIndex..., in: self)
}
func range(from nsRange: NSRange) -> Range<String.Index>? {
return Range(nsRange, in: self)
}
}
Not that I know of. But you could easily add an NSString
category:
@interface NSString (MyRangeExtensions)
- (NSRange)fullRange
@end
@implementation NSString (MyRangeExtensions)
- (NSRange)fullRange {
return (NSRange){0, self.length};
}
Swift
NSMakeRange(0, str.length)
or as an extension
:
extension NSString {
func fullrange() -> NSRange {
return NSMakeRange(0, self.length)
}
}