NSRegularExpression для извлечения текста - PullRequest
2 голосов
/ 22 июля 2011

Все,

У меня есть словарь с двумя ключами и значениями.Мне нужно извлечь из них кусочки и кусочки и поместить их в отдельные строки.

{
        IP = "192.168.17.1";
        desc = "VUWI-VUWI-ABC_Dry_Cleaning-R12-01";
}

Вот как выглядит словарь, когда я звоню description.

Я хочу, чтобы новый вывод был таким:

NSString *IP = @"192.168.17.1";
NSString *desc = @"ABC Dry Cleaning"; //note: I need to get rid of the underscores
NSString *type = @"R";
NSString *num = @"12";
NSString *ident = @"01";

Как быЯ достигаю этого?

Я прочитал документы Apple для разработчиков по NSRegularExpression, но мне трудно это понять.Я уверен, что как только я получу некоторую помощь, я смогу понять это в будущем, мне просто нужно начать.

Заранее спасибо.

1 Ответ

1 голос
/ 22 июля 2011

Хорошо, во-первых, вы должны получить объект, связанный с каждым ключом:

NSString *ip = [dic objectForKey:@"IP"]; //Btw, you shouldn't start a variable's name with a capital letter.
NSString *tempDesc = [dic objectForKey:@"desc"];

Затем я бы разделил строку на tempDesc, основываясь на символе -.

NSArray *tmpArray = [tempDesc componentsSeparatedByString:@"-"];

Тогда вам просто нужно получить интересующие вас строки или подстроки и при необходимости переформатировать их:

NSString *desc = [[tmpArray objectAtIndex:2] stringByReplacingOccurrencesOfString:@"_" withString:@" "];
NSString *type = [[tmpArray objectAtIndex:3] substringToIndex:1];
NSString *num = [[tmpArray objectAtIndex:3] substringFromIndex:1];
NSString *ident = [tmpArray objectAtIndex:4];

Как видите, это прекрасно работает без использования NSRegularExpression.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...