2010-08-26 49 views
1

開頭刪除字符我有一個​​NSString從一個NSString

NSString *data = @"abcdefghi"; 

,但我希望數據是"defghi"

我能做些什麼來改變它呢?

回答

4

你可以這樣做:

NSMutableString *data = [NSMutableString stringWithString:@"abcdefghi"]; 
[data deleteCharactersInRange:NSMakeRange(0, 3)]; 

這是使用NSMutableString,它允許你刪除和添加字符/字符串本身。

這裏使用的方法是deleteCharactersInRange這將刪除字母在NSRange,在這種情況下,範圍具有0一個location,使得其開始於開始時,和3一個length,所以它刪除3個字母。

+0

你不能像這樣初始化一個'NSMutableString',你必須使用'[NSMutableString stringWithString:@「abcdefghi」]''。 – dreamlax 2010-08-26 08:18:09

+0

謝謝,剛剛意識到這一點。編輯我的問題。 – Joshua 2010-08-26 08:29:53

2
[data substringFromIndex:2] 

這將返回一個新的字符串,其字符的索引(2)被截取。

+0

這不會從該字符串中刪除字符,而是會創建一個新的字符串。儘管它在很多情況下足夠了:-) – taskinoor 2010-08-26 08:07:46

+0

另外,'[data substringFromIndex:3]'是作者想要的,因爲[documentation](http://developer.apple.com/mac/library/documentation/cocoa /reference/Foundation/Classes/NSString_Class/Reference/NSString.html#jumpTo_124)表示給定的索引包含在結果中。 – dreamlax 2010-08-26 08:15:27

1

如果您不知道要刪除的字符的確切位置,可以使用NSScanner:Apple Guide to NSScanners。您可能還需要查看指南的其餘部分,因爲它很好地描述了您可以使用Obj-C中的字符串做什麼。