删除NSString的最后一个字符

时间:2011-10-03 23:00:20

标签: objective-c nsstring

我在尝试删除NSString的最后一个字符时遇到了一些麻烦。 我是Objective-C的新手,我不知道如何做到这一点。

你们可以点亮我吗?

6 个答案:

答案 0 :(得分:190)

NSString *newString = [oldString substringToIndex:[oldString length]-1];

始终参考documentation


要包含与您的案例相关的代码:

NSString *str = textField.text;
NSString *truncatedString = [str substringToIndex:[str length]-1];

答案 1 :(得分:11)

试试这个:

s = [s substringToIndex:[s length] - 1];

答案 2 :(得分:4)

NSString *string = [NSString stringWithString:@"ABCDEF"];
NSString *newString = [string substringToIndex:[string length]-1];
NSLog(@"%@",newString);

你可以看到= ABCDE

答案 3 :(得分:3)

NSString = *string = @"abcdef";

string = [string substringToIndex:string.length-(string.length>0)];

如果有要删除的字符(即字符串的长度大于0)      (string.length>0)返回1,从而使代码返回:

 string = [string substringToIndex:string.length-1]; 

如果没有要删除的字符(即字符串的长度不大于0)      (string.length>0)返回0,从而使代码返回:

string = [string substringToIndex:string.length-0]; 

可防止崩溃。

答案 4 :(得分:1)

此代码只返回字符串的最后一个字符,而不是将其删除:

NSString *newString = [oldString substringToIndex:[oldString length]-1];

您可以使用此代替删除最后一个字符并保留字符串的剩余值:

str = [str substringWithRange:NSMakeRange(0,[str length] - 1)];

并将 substringToIndex 用于 0长度的NSString会导致崩溃。

你应该在这之前添加验证,如下所示:

if ([str length] > 0) {

   str = [str substringToIndex:[s length] - 1];

}

有了这个,使用substring方法是安全的。

注意:如果您的应用程序容易崩溃,Apple将拒绝您的应用程序。

答案 5 :(得分:0)

简单和最佳方法

[mutableString deleteCharactersInRange:NSMakeRange([myRequestString length]-1, 1)];