-9
NSMutableString *str = [[NSMutableString alloc] init];
[str appendString: @"ab cd efghil mnopq rstuvz"];
//my test 
[str deleteCharactersInRange:NSMakeRange(2, [str length] -1)];

我会提取前 3 个字符。

4

1 回答 1

3

如果您的问题是您希望可变字符串仅成为前三个字符,那么这应该有效(帽子提示@EmptyStack):

NSMutableString *str = [[NSMutableString alloc] init];
[str appendString: @"ab cd efghil mnopq rstuvz"];
[str setString:[str substringToIndex:2]];

或者,您提出的解决方案并不遥远:

NSMutableString *str = [[NSMutableString alloc] init];
[str appendString: @"ab cd efghil mnopq rstuvz"];
[str deleteCharactersInRange:NSMakeRange(3, [str length] -3)];

如果您的问题是您想要一个字符串中的前 3 个字符,其余的留在可变字符串中,那么这就是您想要的:

NSMutableString *str = [[NSMutableString alloc] init];
[str appendString: @"ab cd efghil mnopq rstuvz"];
NSMutableString *first3Chars = [[[str substringToIndex:3] mutableCopy] autorelease];
[str deleteCharactersInRange:NSMakeRange(0, 3)];
于 2011-10-29T09:44:30.187 回答