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 NSStringdocumentación para otros)
Ejemplo de uso
NSString *str = @"This is a string";
str = [str stringByReplacingOccurrencesOfString:@"string"
withString:@"duck"];
strcambio en el proceso
NSStringlos objetos son inmutables (no se pueden cambiar), pero hay una subclase mutable NSMutableStringque 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"];
strsimplemente me dejó alucinado.