Удалить последний символ NSString - PullRequest
72 голосов
/ 04 октября 2011

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

Не могли бы вы, ребята, зажечь меня?

Ответы [ 6 ]

192 голосов
/ 04 октября 2011
NSString *newString = [oldString substringToIndex:[oldString length]-1];

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


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

NSString *str = textField.text;
NSString *truncatedString = [str substringToIndex:[str length]-1];
12 голосов
/ 04 октября 2011

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

s = [s substringToIndex:[s length] - 1];
4 голосов
/ 07 мая 2013
NSString *string = [NSString stringWithString:@"ABCDEF"];
NSString *newString = [string substringToIndex:[string length]-1];
NSLog(@"%@",newString);

Вы можете видеть = ABCDE

3 голосов
/ 05 марта 2014
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]; 

, который предотвращает сбои.

1 голос
/ 28 августа 2014

Этот код просто возвращает последний символ строки и не удаляет его:

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

вы можете использовать это вместо удаления последнего символа и сохранения оставшихся значенийстрока:

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

, а также использование substringToIndex для строки NSS с длиной 0 приведет к сбоям.

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

if ([str length] > 0) {

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

}

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

ПРИМЕЧАНИЕ: Apple отклонит ваше приложение, если оно уязвимо для сбоев.

0 голосов
/ 03 ноября 2015

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

[mutableString deleteCharactersInRange:NSMakeRange([myRequestString length]-1, 1)];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...