Форум программистов, компьютерный форум, киберфорум
Наши страницы

Использование регулярных выражений - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Поиск в массиве http://www.cyberforum.ru/objective-c/thread1164799.html
есть массив "lines" полученный из файла и стринг "resultText",пытаюсь найти в массиве получаемый стринг if () { NSLog(@"vse ok"); } и не находит...
Objective-C Изменение цвета иконок в UITabBar Есть в storybord tabbar и делегат в коде, я меняю программно фон и цвет иконок при нажатии, се ок. Но я не могу поменять цвет иконок, который стоит по умолчанию (остается всегда серый) хотя менял и... http://www.cyberforum.ru/objective-c/thread1161120.html
AFNetworking Post Request Objective-C
Доброго времени суток. Возник вопрос. У меня есть сервер (phpMyAdmin, Mysql) есть приложение которое должно отсылать на этот сервер свои координаты в формате JSON делаю все это с помощью...
Поэтапный план для овладения xCode или как вы начали свой путь программиста? Objective-C
Дорогие форумчане, Я недавно начал изучать язык программирования С++, но приостановил, так как позже узнал, что для Objective C больше подходит язык Си. Сейчас я изучаю Си (начальная стадия). ...
Objective-C Книги для изучения http://www.cyberforum.ru/objective-c/thread1160084.html
Подскажите книги для изучения Objective желательно которые есть в бесплатном доступе
Objective-C Массив Помогите плз. есть множество условий "if", их примерно 100 + - 10,сразу могут выполняться до 20шт, в конце каждого получают результат "resultV"(стринговое значение которое зависит от того,какой... подробнее

Показать сообщение отдельно
noname_club
103 / 94 / 10
Регистрация: 01.05.2013
Сообщений: 598

Использование регулярных выражений - Objective-C

03.05.2014, 19:01. Просмотров 1493. Ответов 11
Метки (Все метки)

Перемещено из Поиск в массиве

noname_club, а зачем вот это:
топик-стартер наверно имел ввиду поиск строки в текстовом файле.

как один из вариантов это поиск через регулярки.

синтаксис индентичен php выражениям
думаю вы не будет оспаривать тот факт что php синтаксис выражений , в частности перечисление флагов i,s,m в самом выражении, более читабелен нежели objc конструкции.

Добавлено через 3 минуты
[NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
lines = [fileString componentsSeparatedByString:@"\n"];
это уже трансформация текста в массив.

вот мой массив,мне надо просто проверить на наличие в нем какого-то слова
Objective-C
1
2
3
4
5
6
7
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"word_base"
                                                         ofType:@"txt"];
NSString *fileString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
 
if (php_preg_match(@"слово", fileString )) {
   // слово найдено!
}
Добавлено через 10 минут
еще можно через предикаты
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// мануалы по предикатам
/*
 [url]http://macbug.ru/cocoa/predformat#.URySNejoRGM[/url]
 [url]http://userguide.icu-project.org/strings/regexp[/url]
 */
 
#define pr_BEGINSWITH_IgnoreCase @"BEGINSWITH[cd]"
#define pr_ENDSWITH_IgnoreCase @"ENDSWITH[cd]"
#define pr_LIKE_IgnoreCase @"LIKE[cd]"
#define pr_CONTAINS_IgnoreCase @"CONTAINS[cd]"
#define pr_MATCHES_IgnoreCase @"MATCHES[cd]"
#define pr_EQUAL_IgnoreCase @"==[cd]"
 
#define pr_BEGINSWITH @"BEGINSWITH"
#define pr_ENDSWITH @"ENDSWITH"
#define pr_LIKE @"LIKE"
#define pr_CONTAINS @"CONTAINS"
#define pr_MATCHES @"MATCHES"
#define pr_EQUAL @"=="
 
bool string_predicate_match (NSString* string, NSString* predicate, NSString* predicateValue) {
// функция сравнения строк через выражения
    NSString *p1 = [NSString stringWithFormat:@"SELF %@ %%@",predicate];
    NSPredicate *regexp = nil;
    if (predicateValue) {
        regexp = [NSPredicate predicateWithFormat:p1,predicateValue];
    }
    return [regexp evaluateWithObject:string];
}
пример

Objective-C
1
2
3
4
5
6
7
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"word_base"
                                                         ofType:@"txt"];
NSString *fileString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
 
if ( string_predicate_match(fileString , pr_CONTAINS, @"слово" )) {
   // слово найдено!
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru