У меня есть некоторые проблемы, если вы пытаетесь удалить последний символ NSString. Я новичок в Objective-C, и я понятия не имею, как это сделать.
Не могли бы вы, ребята, зажечь меня?
У меня есть некоторые проблемы, если вы пытаетесь удалить последний символ NSString. Я новичок в Objective-C, и я понятия не имею, как это сделать.
Не могли бы вы, ребята, зажечь меня?
NSString *newString = [oldString substringToIndex:[oldString length]-1];
Всегда обращайтесь к documentation:
Чтобы включить код, относящийся к вашему делу:
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 отклонит ваше приложение, если оно уязвимо для сбоев.
Этот приятный маленький код, который я нашел случайно, и я еще не видел его предложенным на Stack.
Он работает только в том случае, если символы, которые вы хотите удалить или изменить, существуют, что удобно во многих сценариях. Если символ /s не существует, он не изменит ваш NSString:
NSString = [yourString stringByReplacingOccurrencesOfString:@"YOUR CHARACTERS YOU WANT TO REMOVE" withString:@"CAN either be EMPTY or WITH TEXT REPLACEMENT"];
Вот как я его использую:
//declare what to look for
NSString * suffixTorRemove = @"</p>";
NSString * prefixToRemove = @"<p>";
NSString * randomCharacter = @"</strong>";
NSString * moreRandom = @"<strong>";
NSString * makeAndSign = @"&amp;";
//I AM INSERTING A VALUE FROM A DATABASE AND HAVE ASSIGNED IT TO returnStr
returnStr = [returnStr stringByReplacingOccurrencesOfString:suffixTorRemove withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:prefixToRemove withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:randomCharacter withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:moreRandom withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:makeAndSign withString:@"&"];
//check the output
NSLog(@"returnStr IS NOW: %@", returnStr);
Эта одна строка очень проста для выполнения трех действий в одном:
Это похоже на поиск слов, кроме iOS
Простой и лучший подход
[mutableString deleteCharactersInRange:NSMakeRange([myRequestString length]-1, 1)];