Удалить последний символ строки NSString


У меня есть некоторые проблемы, прежде чем пытаться удалить последний символ NSString. Я новичок в Objective-C и я понятия не имею, как сделать эту работу.

не могли бы вы мне прикурить дашь?

6 68

6 ответов:

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

всегда обращайтесь к документация:


чтобы включить код, относящийся к вашему делу:

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

попробуйте это:

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 к NSString с 0 длина приведет к сбоям.

вы должны добавить проверку перед этим, например:

if ([str length] > 0) {

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

}

С этим, безопасно чтобы использовать метод подстроки.

Примечание: Apple отклонит ваше приложение, если оно уязвимо для сбоев.

простой и лучший подход

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