Tengo algunos problemas tratando de eliminar el último carácter de un NSString. Soy un poco novato en Objective-C y no tengo idea de cómo hacer que esto funcione.Eliminar el último carácter de NSString
¿Podrían ustedes encenderme?
Tengo algunos problemas tratando de eliminar el último carácter de un NSString. Soy un poco novato en Objective-C y no tengo idea de cómo hacer que esto funcione.Eliminar el último carácter de NSString
¿Podrían ustedes encenderme?
NSString *newString = [oldString substringToIndex:[oldString length]-1];
se refieren siempre al documentation:
incluir código correspondiente a su caso:
NSString *str = textField.text;
NSString *truncatedString = [str substringToIndex:[str length]-1];
Parece que mi Xcode doenst 'entiende' este "substringToIndex", incluso lo autoescribe. ¿Es correcto? – markus
Siempre y cuando '#import
@markus ¿lo está llamando en un NSString? Por las dudas, publique la línea de código donde desee usarla. – sidyll
Prueba esto:
s = [s substringToIndex:[s length] - 1];
esto es vulnerable a bloqueos cuando la longitud de NSString es 0, agregue la validación: ** if ([s length]> 0) {** s = [s substringToIndex: [s length] - 1]; **} ** – krischu
NSString *string = [NSString stringWithString:@"ABCDEF"];
NSString *newString = [string substringToIndex:[string length]-1];
NSLog(@"%@",newString);
Se puede ver = ABCDE
Formatee su código usando la opción "{}" dentro del editor. :-) –
NSString = *string = @"abcdef";
string = [string substringToIndex:string.length-(string.length>0)];
Si hay un personaje eliminar (es decir, la longitud de la cadena es mayor que 0) (string.length>0)
devuelve 1, con lo que el código de retorno:
string = [string substringToIndex:string.length-1];
si no hay un personaje eliminar (es decir, la longitud de la cadena no es mayor que 0) (string.length>0)
devuelve 0, por lo tanto, el retorno de código:
string = [string substringToIndex:string.length-0];
que evita accidentes.
Este código sólo devuelve el último carácter de la cadena y no quitarla:
NSString *newString = [oldString substringToIndex:[oldString length]-1];
se puede utilizar esto en vez de eliminar el último carácter y retener los valores restantes de una cadena:
str = [str substringWithRange:NSMakeRange(0,[str length] - 1)];
y también utilizando substringToIndex a un NSString con 0 longitud dará lugar a accidentes.
se debe añadir la validación antes de hacerlo, de esta manera:
if ([str length] > 0) {
str = [str substringToIndex:[s length] - 1];
}
con esto, es seguro de usar método substring.
NOTA: Apple rechazará su aplicación si es vulnerable a bloqueos.
Este pequeño y agradable código que encontré por casualidad, y aún no lo he visto sugerido en Stack.
Solo funciona si los caracteres que desea eliminar o modificar existen, lo que es conveniente en muchos escenarios. Si/s no existe el carácter, no va a alterar su NSString:
NSString = [yourString stringByReplacingOccurrencesOfString:@"YOUR CHARACTERS YOU WANT TO REMOVE" withString:@"CAN either be EMPTY or WITH TEXT REPLACEMENT"];
Ésta es la forma en que lo uso:
//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);
Ésta línea es muy fácil de llevar a cabo tres acciones en un solo :
Es como sopa de letras excepto para iOS
simple y mejor enfoque
[mutableString deleteCharactersInRange:NSMakeRange([myRequestString length]-1, 1)];
"¿Podrían ustedes (http [me iluminará?]: // dictionary.reference.com/browse/light+up?r=75&src=ref&ch=dic) ". El uso que estás buscando es "[ilustre] (http://dictionary.reference.com/browse/enlighten?r=75&src=ref&ch=dic) me". – darvids0n