2010-12-12 3 views
5

У меня есть NSString следующим образом:Удалить часть из NSString

<img alt="996453912" src="http://d2gg0uigdtw9zz.cloudfront.net/large/996453912.jpg" /><a href="http://www.dealcatcher.com/shop4tech-coupons">Shop4Tech Coupons</a> 

мне нужна только первая часть (перед <a href части), и я не могу понять, как удалить вторую часть.

Я пробовал тонну, но это не сработало.

+2

Какие методы вы пытались? – Abizern

+0

Я пробовал Componentsseperatedby и искал других, но не могу найти других. –

ответ

18

использовать что-то вроде:

NSRange rangeOfSubstring = [string rangeOfString:@"<a href"]; 

if(rangeOfSubstring.location == NSNotFound) 
{ 
    // error condition — the text '<a href' wasn't in 'string' 
} 

// return only that portion of 'string' up to where '<a href' was found 
return [string substringToIndex:rangeOfSubstring.location]; 

Таким образом, две соответствующие методы substringToIndex: и rangeOfString:.

3

В разделе NSString Class содержится раздел о Finding Characters and Substrings, в котором перечислены некоторые полезные методы.

И в Руководстве по программированию Струнного Существует раздел на Searching, Comparing and Sorting Strings.

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

0

Вы можете использовать что-то похожее на эту измененную версию того, что было опубликовано как ответ на аналогичный вопрос здесь https://stackoverflow.com/a/4886998/283412. Это займет вашу строку HTML и вычеркнет форматирование. Просто измените часть while, чтобы удалить регулярное выражение того, что вы хотите удалить:

-(void)myMethod 
{ 
    NSString* htmlStr = @"<some>html</string>"; 
    NSString* strWithoutFormatting = [self stringByStrippingHTML:htmlStr]; 
} 

-(NSString *)stringByStrippingHTML:(NSString*)str 
{ 
    NSRange r; 
    while ((r = [str rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound) 
    { 
    str = [str stringByReplacingCharactersInRange:r withString:@""]; 
    } 
    return str; 
}