objective-c nsstring

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)];