2010-12-12 11 views
5

Tôi có một NSString như sau:Hủy bỏ một phần của một NSString

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

Tôi chỉ cần phần đầu tiên (trước phần <a href), và tôi không thể tìm ra cách để loại bỏ phần thứ hai.

Tôi đã thử một tấn nhưng chưa hoạt động.

+2

Bạn đã thử phương pháp nào? – Abizern

+0

Tôi đã thử Componentsseperatedby và đã tìm kiếm những người khác, nhưng không thể tìm thấy người khác. –

Trả lời

18

Sử dụng một cái gì đó như:

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]; 

Vì vậy, hai phương pháp có liên quan substringToIndex:rangeOfString:.

3

Có một phần trong tham chiếu Lớp NSString về Finding Characters and Substrings liệt kê một số phương pháp hữu ích.

Và trong Hướng dẫn Lập trình Chuỗi Có một phần trên Searching, Comparing and Sorting Strings.

Tôi không phải là nổi giận trong việc chỉ ra những liên kết này. Bạn đã nói rằng bạn không thể tìm thấy các phương pháp vì vậy đây là một vài tham khảo để giúp bạn biết nơi để tìm. Học cách đọc tài liệu là một phần của việc học cách sử dụng các khung Cocoa và Cocoa-Touch.

0

Bạn có thể sử dụng một cái gì đó tương tự như phiên bản sửa đổi của những gì đã được đăng dưới dạng câu trả lời cho một câu hỏi tương tự tại đây https://stackoverflow.com/a/4886998/283412. Điều này sẽ lấy chuỗi HTML của bạn và loại bỏ định dạng. Chỉ cần sửa đổi phần thời gian để xóa regex của nội dung bạn muốn xóa:

-(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; 
}