Как удалить 3 символа из конца NSURL? - PullRequest
0 голосов
/ 17 мая 2010

мой первый вопрос! Я был в состоянии закодировать большую часть этой программы чтения RSS без привлечения помощи (через много поисков через stackoverflow!), Но я в тупике.

 NSString *urlbase = [[NSString alloc] initWithFormat:[links3 objectAtIndex:indexPath.row]];
 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlbase]];
 NSCharacterSet *whitespaces = [NSCharacterSet whitespaceCharacterSet];
 NSPredicate *noEmptyStrings = [NSPredicate predicateWithFormat:@"SELF != ''"];

 NSArray *parts = [urlbase componentsSeparatedByCharactersInSet:whitespaces];
 NSArray *filteredArray = [parts filteredArrayUsingPredicate:noEmptyStrings];
 urlbase = [filteredArray componentsJoinedByString:@" "];

 NSLog(@"%@ %i" , urlbase, 4353);
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlbase]];

Массив links3 представляет собой NSMutableArray со строками. Первые несколько строк работают безупречно в устранении пробела в начале каждой строки из этого массива, который хранится в «urlbase», поэтому они выглядят хорошо, когда выходят. Когда мы NSLog urlbase, мы видим:

http://www.feedzilla.com/r/D7E6204FEDBFE541314B997AAB5D2DF9CBA2EFEE

Но, когда мы используем: [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlbase]]

Мы видим: http://www.feedzilla.com/r/D7E6204FEDBFE541314B997AAB5D2DF9CBA2EFEE%0A

Как я могу это исправить? Могу ли я удалить эти элементы хвоста как-нибудь? Спасибо!

Рабочий код:

    NSMutableArray *links3 = [[NSMutableArray alloc] init];
 RSSAppDelegate *appDelegate = (RSSAppDelegate *)[[UIApplication sharedApplication] delegate];
 links3 = appDelegate.links;
 NSLog(@"%@ %i", [links3 objectAtIndex:indexPath.row], 3453);
 NSString *urlbase = [[NSString alloc] initWithFormat:[links3 objectAtIndex:indexPath.row]];
 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlbase]];
 NSCharacterSet *whitespaces = [NSCharacterSet whitespaceCharacterSet];
 NSPredicate *noEmptyStrings = [NSPredicate predicateWithFormat:@"SELF != ''"];

 NSArray *parts = [urlbase componentsSeparatedByCharactersInSet:whitespaces];
 NSArray *filteredArray = [parts filteredArrayUsingPredicate:noEmptyStrings];
 urlbase = [filteredArray componentsJoinedByString:@" "];

 NSLog(@"%@ %i" , urlbase, 4353);


 NSLog(@"%@ %i" , urlbase, 345346);
 NSString* fixed = [urlbase stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];

 NSURL *hellothere = [NSURL URLWithString:fixed];
 NSLog(@"%@ %i", hellothere, 54);


    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:fixed]];

Эй, я не говорил, что это красиво. Спасибо Дидерик Хугенбоом!

1 Ответ

1 голос
/ 17 мая 2010

Попробуйте это:

[urlbase stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]

Последняя часть вашей строки URL - это перевод строки.

...