Respuestas:
Podrías usar el método
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target
withString:(NSString *)replacement
... para obtener una nueva cadena con una subcadena reemplazada (consulte la NSString
documentación para otros)
Ejemplo de uso
NSString *str = @"This is a string";
str = [str stringByReplacingOccurrencesOfString:@"string"
withString:@"duck"];
str
cambio en el proceso
NSString
los objetos son inmutables (no se pueden cambiar), pero hay una subclase mutable NSMutableString
que le brinda varios métodos para reemplazar caracteres dentro de una cadena. Probablemente sea tu mejor apuesta.
También es posible reemplazar cadenas con stringByReplacingCharactersInRange: withString:
for (int i = 0; i < card.length - 4; i++) {
if (![[card substringWithRange:NSMakeRange(i, 1)] isEqual:@" "]) {
NSRange range = NSMakeRange(i, 1);
card = [card stringByReplacingCharactersInRange:range withString:@"*"];
}
} //out: **** **** **** 1234
El problema existe en versiones antiguas en iOS. en el último, el de derecha a izquierda funciona bien. Lo que hice es lo siguiente:
Primero verifico la versión de iOS:
if (![self compareCurVersionTo:4 minor:3 point:0])
Que:
// set RTL on the start on each line (except the first)
myUITextView.text = [myUITextView.text stringByReplacingOccurrencesOfString:@"\n"
withString:@"\u202B\n"];
NSString *stringreplace=[yourString stringByReplacingOccurrencesOfString:@"search" withString:@"new_string"];
str
simplemente me dejó alucinado.