Jawaban:
Anda bisa menggunakan metode ini
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target
withString:(NSString *)replacement
... untuk mendapatkan string baru dengan substrat diganti (Lihat NSStringdokumentasi untuk orang lain)
Contoh penggunaan
NSString *str = @"This is a string";
str = [str stringByReplacingOccurrencesOfString:@"string"
withString:@"duck"];
strberubah dalam proses
NSStringobjek tidak berubah (tidak dapat diubah), tetapi ada subkelas yang dapat berubah NSMutableString,, yang memberi Anda beberapa metode untuk mengganti karakter dalam string. Mungkin ini taruhan terbaik Anda.
Jika Anda ingin penggantian beberapa string:
NSString *s = @"foo/bar:baz.foo";
NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@"/:."];
s = [[s componentsSeparatedByCharactersInSet: doNotWant] componentsJoinedByString: @""];
NSLog(@"%@", s); // => foobarbazfoo
Ini juga memungkinkan penggantian string dengan 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
Masalahnya ada di versi lama di iOS. di terbaru, kanan-ke-kiri berfungsi dengan baik. Apa yang saya lakukan, adalah sebagai berikut:
pertama saya periksa versi iOS:
if (![self compareCurVersionTo:4 minor:3 point:0])
Dari:
// 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"];
strhanya meniup pikiran saya.