2011-12-16 32 views
0

替換字符串這是我的字符串:不能在的NSMutableString

2011-10-07T08:55:16-05:00 

我試圖用這個代碼刪除冒號:

NSRange range = NSMakeRange(dateString.length-3, 1); 
NSString *temp = [dateString substringWithRange:range]; 
if ([temp isEqualToString:@":"]) 
    [dateString replaceCharactersInRange:range withString:@""]; 

我的代碼進入if語句,所以我知道它發現了冒號。但它在最後一行沒有錯誤而崩潰。我究竟做錯了什麼?

+0

我懷疑'dateString`不保留,並在創建`temp`它重踏上`dateString`。 (你應該顯示創建`dateString`的邏輯。) – 2011-12-16 20:10:13

+1

`substringWithRange:`不會改變源(`dataString`)對象,所以它不會「踩跺」。我的猜測是`dataString`實際上並不可變(`NSMutableString`)。 – gschandler 2011-12-16 20:18:11

回答

0

試試這個:

NSMutableString *dateString = [NSMutableString stringWithString:@"2011-10-07T08:55:16-05:00"]; 

NSRange range = NSMakeRange(dateString.length-3, 1); 
NSString *temp = [dateString substringWithRange:range]; 
if ([temp isEqualToString:@":"]) 
    [dateString replaceCharactersInRange:range withString:@""];