我在尝试删除NSString的最后一个字符时遇到了一些麻烦。 我是Objective-C的新手,我不知道如何做到这一点。
你们可以点亮我吗?
答案 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)];