objective c - ¿Eliminar personajes de NSString?
objective-c (6)
NSString *myString = @"A B C D E F G";
Quiero eliminar los espacios, por lo que la nueva cadena sería "ABCDEFG".
Podrías usar:
NSString *stringWithoutSpaces = [myString
stringByReplacingOccurrencesOfString:@" " withString:@""];
Puedes intentar esto
- (NSString *)stripRemoveSpaceFrom:(NSString *)str {
while ([str rangeOfString:@" "].location != NSNotFound) {
str = [str stringByReplacingOccurrencesOfString:@" " withString:@""];
}
return str;
}
Espero que esto te ayude.
Si desea admitir más de un espacio a la vez, o admite cualquier espacio en blanco, puede hacer esto:
NSString* noSpaces =
[[myString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
componentsJoinedByString:@""];
Todo lo anterior funcionará bien. Pero el método correcto es este:
yourString = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
Funcionará como un método TRIM. Eliminará todos los espacios delanteros y traseros.
Gracias
Tomado de NSString
stringByReplacingOccurrencesOfString:withString:
Devuelve una nueva cadena en la cual todas las ocurrencias de una cadena objetivo en el receptor son reemplazadas por otra cadena dada.
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
Parámetros
objetivo
The string to replace.
reemplazo
The string with which to replace target.
Valor de retorno
Una nueva cadena en la cual todas las ocurrencias del objetivo en el receptor son reemplazadas por reemplazo.
si la cadena es mutable , puede transformarla en su lugar utilizando esta forma:
[string replaceOccurrencesOfString:@" "
withString:@""
options:0
range:NSMakeRange(0, string.length)];
esto también es útil si desea que el resultado sea una instancia mutable de una cadena de entrada:
NSMutableString * string = [concreteString mutableCopy];
[string replaceOccurrencesOfString:@" "
withString:@""
options:0
range:NSMakeRange(0, string.length)];