68

入力するのではなく、「文字列全体」と言う簡単な方法はありますか:

NSMakeRange(0, myString.length)]

この種のコードの最も長い部分が最も重要でないというのはばかげているように思えます (通常、文字列全体を検索/置換したいからです)…</p>

[myString replaceOccurrencesOfString:@"replace_me"
                          withString:replacementString
                             options:NSCaseInsensitiveSearch
                               range:NSMakeRange(0, myString.length)];
4

6 に答える 6

47

関数?カテゴリー方式?

- (NSRange)fullRange
{
    return (NSRange){0, [self length]};
}

[myString replaceOccurrencesOfString:@"replace_me"
                          withString:replacementString
                             options:NSCaseInsensitiveSearch
                               range:[myString fullRange]];
于 2013-02-25T08:03:46.433 に答える
20

私が知っていることではありません。NSStringただし、カテゴリを簡単に追加できます。

@interface NSString (MyRangeExtensions)
- (NSRange)fullRange
@end

@implementation NSString (MyRangeExtensions)
- (NSRange)fullRange {
  return (NSRange){0, self.length};
}
于 2013-02-25T08:03:37.650 に答える
15

迅速

NSMakeRange(0, str.length)

またはとしてextension

extension NSString {
    func fullrange() -> NSRange {
        return NSMakeRange(0, self.length)
    }
}
于 2015-08-25T18:17:35.830 に答える
6

これは短くはありませんが...まあ

NSRange range = [str rangeOfString:str];
于 2013-02-25T08:10:01.363 に答える