Любой способ отделить текст в UITextField? - PullRequest
0 голосов
/ 06 июля 2011

У меня есть параграф (4 предложения) текста в массиве .plist, который загружается в UITextView.

По умолчанию текст представляет собой один большой кусок текста в абзаце. Я хочу знать, возможно ли разделить это?

Например, строка 1: sdfafasfsafsa, строка 2: asfdsafs, строка 3: adfsfsdfsdfa и т. Д.

Есть ли способ найти ., а затем разделить строки соответственно? Я бы просто отредактировал plist вручную, но есть сотни записей, так что это нелегко сделать.

Ответы [ 3 ]

3 голосов
/ 06 июля 2011
NSArray *array = [sourceString componentsSeparatedByString:@"."];

NSMutableString *resultString= [[NSMutableString alloc] init];
int linecount=1;
for(NSString *lines in array)
{
    [resultString appendString:[NSString stringWithFormat:@"Line%i:%@\n",linecount++,lines]];
}

NSLog(@"resultString:%@",resultString);

это может помочь .. !!

3 голосов
/ 06 июля 2011
NSString* tidiedString = [sourceString stringByReplacingOccurrencesOfString:@"." withString:@"\n"];

Обновление : ОК, так что подробности проясняются.Вы можете использовать регулярное выражение - но если вы не знакомы, кривая обучения немного крутой.В противном случае, как и в случае с другими ответами, прокрутите список.Вам нужно позаботиться о пробелах, пустых строках и т. Д. Следующий фрагмент кода не очень хорош, но он сделает свою работу.

NSString* sourceString = @"Hyperlinks can be great. They can also dilute your focus and tempt you into putting off what you most want to do. Here I chose to place links at the foot of the page to help you to make an active choice as to whether to surf or refocus your attention elsewhere.";

NSArray* arrayOfStrings = [sourceString componentsSeparatedByString:@"."];

NSMutableString* superString = [NSMutableString stringWithString:@""];

int lineCount = 1;
for (NSString* string in arrayOfStrings)
{
    if ([string length] < 1) continue;

    [superString appendFormat:@"Line %d: %@.\n", lineCount++, [string stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]];
}

[superString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

[[self userEntry] setText:superString];
0 голосов
/ 06 июля 2011

Попробуйте создать цикл, который проходит через массив и добавляет каждую строку в UITextView плюс @ "\ n".

Так что-то вроде ...:

NSString *curText = txtView.text;
NSString *lineBreak = @"\n";
txtView.text=[NSString stringWithFormat:@"%@ + %@", curText, lineBreak];

Или просто замените точки на @ "\ n".

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