删除 NSString 的最后一个字符

我在删除 NSString 的最后一个字符时遇到了一些麻烦。 我在 Objective-C 方面还是个新手,我不知道如何使用它。

你们能帮我照一下吗?

61747 次浏览

试试这个:

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

请参阅 文件:


包括与您的情况相关的代码:

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

你可以看到 = ABCDE

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];

防止崩溃。

这段代码只返回字符串的最后一个字符,而不删除它:

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

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

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

并且使用 SubstringToIndex到 NSString 和 0长度会导致崩溃。

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

if ([str length] > 0) {


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


}

有了这个,就可以安全地使用子字符串方法。

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

简单和最好的方法

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