我在删除 NSString 的最后一个字符时遇到了一些麻烦。 我在 Objective-C 方面还是个新手,我不知道如何使用它。
你们能帮我照一下吗?
试试这个:
s = [s substringToIndex:[s length] - 1];
NSString *newString = [oldString substringToIndex:[oldString length]-1];
请参阅 文件:
substringToIndex:
length
包括与您的情况相关的代码:
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.length>0)
string = [string substringToIndex:string.length-1];
如果没有要删除的字符(即字符串的长度不大于0) (string.length>0)返回0,从而使代码返回:
string = [string substringToIndex:string.length-0];
防止崩溃。
这段代码只返回字符串的最后一个字符,而不删除它:
你可以使用它来代替 删除最后一个字符并保留字符串的剩余值:
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)];