我在尝试删除NSString的最后一个字符时遇到了麻烦。我是Objective-C的新手,我不知道如何进行这项工作。
你们能照亮我吗?
Answers:
NSString *newString = [oldString substringToIndex:[oldString length]-1];
始终参考文档:
要包含与您的案例有关的代码:
NSString *str = textField.text;
NSString *truncatedString = [str substringToIndex:[str length]-1];
#import <Foundation/Foundation.h>
使用的是Mac OS X 10.0或更高版本/ iOS 2.0或更高版本,那么就可以了。确保下载Xcode设置中的文档集,以获取方法自动完成功能。
尝试这个:
s = [s substringToIndex:[s 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设置为长度为0的NSString也会导致崩溃。
您应该先添加验证,例如:
if ([str length] > 0) {
str = [str substringToIndex:[s length] - 1];
}
这样,可以安全地使用子字符串方法。
注意:如果苹果电脑容易崩溃,它将拒绝您的应用程序。
简单而最佳的方法
[mutableString deleteCharactersInRange:NSMakeRange([myRequestString length]-1, 1)];