2010-08-26 54 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中的字符串做什么。