Разбор файла .txt или html в строку в iPhone SDK

Итак, что я пытаюсь сделать, это взять файл .txt или html, имея возможность выполнять поиск по нему, и захватить кусок текста из файла, поместить его в строку и, наконец, добавить его в textView.

Каждая пара фрагментов текста будет разделена следующим образом:

001: 001 Текст1

001: 002 Текст2

001: 003 Текст3

002: 001 Text1a

002: 002 Text1b

... и так далее

По сути, вы будете искать в тексте эти числа, а программа будет захватывать только текст. Есть ли способ сделать это с помощью цели C и ее использования в приложении для iPhone?


person Community    schedule 27.10.2009    source источник
comment
Похоже, у меня проблема с просто получением текстового файла в textView. Что проще всего сказать - взять текстовый файл, захватить весь текст и бросить его в textView? Таким образом, я могу начать возиться и выяснить остальное, что я ищу.   -  person    schedule 27.10.2009
comment
Whats the most simple say of taking a text file, grabbing all the text, and throwing it into the textView? можно сделать через NSString *fileString = [NSString stringWithContentsOfFile:@"PATH"]; [textView replaceCharactersInRange:NSMakeRange(0UL, [[textView textStorage] length]) withString:fileString];   -  person johne    schedule 28.10.2009


Ответы (2)


Использовать

NSString *pathToDefaultPlist = [[NSBundle mainBundle] pathForResource:@"TextFile" ofType:@"text"];

для загрузки текстового файла. Потом:

+ (id)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error

эта функция для загрузки текстового файла в String. Затем используйте функцию NSString, чтобы разделить токен :)

person grinder    schedule 27.10.2009
comment
Вот инструмент, который я только что нашел, который помогает вам визуализировать, как работает CFStringTokenizer, если вы хотите попробовать его: github.com/lakiolen/cocoa-stringtokenizer/blob/master/ - person Epsilon Prime; 27.10.2009
comment
Спасибо за информацию. Похоже, у меня проблема с просто получением текстового файла в textView. Что проще всего сказать - взять текстовый файл, захватить весь текст и бросить его в textView? Таким образом, я могу начать возиться и выяснить остальное, что я ищу. - person ; 27.10.2009

В дополнение к [NSString stringWithContentsOfFile: encoding: error] для получения текста файла ваш textView должен иметь метод setStringValue.

поэтому я бы сделал что-то вроде этого:

NSString *pathToTextFile;
NSError  *readError;
NSString *fileData = [NSString stringWithContentsOfFile:pathToTextFile
                               encoding:(appropriate encoding for your file)
                               error:*readError]

[textView setStringValue:fileData];

Это может потребовать небольшого массажа, я на работе, и у меня нет своего Mac для проверки подписей методов и т. Д. Но это общая идея.

person alesplin    schedule 27.10.2009