Как извлечь данные, которые я хочу в NSString? - PullRequest
1 голос
/ 06 сентября 2010

У меня есть NSString как это:

456673 \ tSomething

Но я хотел бы извлечь что-то только .... ... Все данные должны быть в этом формате ....

хххх \ tyyyy Как я могу разделить это базы на \ т? благодарю вас.

Ответы [ 2 ]

3 голосов
/ 06 сентября 2010

Возможно, вы ищете этот метод экземпляра:

- (NSArray *)componentsSeparatedByString:(NSString *)separator

Если это не отвечает вашим потребностям и вы хотите что-то более мощное, я могу лично порекомендовать RegexKitLite .RegexKitLite добавляет силу регулярных выражений в NSString в форме категории.

1 голос
/ 06 сентября 2010

Для удобства я добавил категорию в NSString (класс: NSString + Utility):

- (NSString *)substringFromFirstOccurenceOfString:(NSString *)string {
    NSRange range = [self rangeOfString:string];

    if (range.location != NSIntegerMax) {
        int index = range.location + range.length;
        return [self substringFromIndex:index];
    } else {
        return self;
    }
}

- (NSString *)substringFromLastOccurenceOfString:(NSString *)string {
    NSRange range = [self rangeOfString:string options:NSBackwardsSearch];

    if (range.location != NSIntegerMax) {
        int index = range.location + range.length;
        return [self substringFromIndex:index];
    } else {
        return self;
    }
}

- (NSString *)substringToFirstOccurenceOfString:(NSString *)string {
    NSRange range = [self rangeOfString:string];    

    if (range.location != NSIntegerMax) {
        int index = range.location + range.length;
        return [self substringToIndex:index];            
    } else {
        return self;
    }
}

- (NSString *)substringToLastOccurenceOfString:(NSString *)string {
    NSRange range = [self rangeOfString:string options:NSBackwardsSearch];  

    if (range.location != NSIntegerMax) {
        int index = range.location;
        return [self substringToIndex:index];       
    } else {
        return self;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...