2012-05-24 41 views

Trả lời

72
NSString *[email protected]"1,2,3,4"; 
[str stringByReplacingOccurrencesOfString:@"3," withString:@""]; 

Điều đó sẽ loại bỏ tất cả các lần xuất hiện của @ "3", trong str.

Nếu bạn muốn loại bỏ chỉ sự xuất hiện đầu tiên của @ "3":

NSString* str = @"1,2,3,4"; 
NSRange replaceRange = [str rangeOfString:@"3,"]; 
if (replaceRange.location != NSNotFound){ 
    NSString* result = [str stringByReplacingCharactersInRange:replaceRange withString:@""]; 
} 

Hope this helps.

+1

[str stringByReplacingOccurrencesOfString: @ "3," withString: @ ""]; – samfisher

+0

@samfisher được chỉnh sửa, cảm ơn – sonxurxo

+2

Điều này sẽ chỉ hoạt động nếu bạn biết rằng mục cần xóa là một phần trong danh sách. Ví dụ: nếu số 4 bị xóa, bạn sẽ phải biết rằng số đó nằm ở cuối danh sách và không có dấu phẩy để bạn thay thế "4" bằng "" thay vì "4". –

6
NSString *[email protected]"1,2,3,4"; 
    int numberToRemove = 4; 

str = [str stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%d",numberToRemove] withString:@""]; 
str = [str stringByReplacingOccurrencesOfString:@",," withString:@","]; 

Điều này sẽ hữu ích.

+2

Điều này giải quyết được vấn đề tôi đã nhận xét về câu trả lời @sonxurxo. –

Các vấn đề liên quan