Jawaban:
Anda bisa menggunakan metode ini
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target
withString:(NSString *)replacement
... untuk mendapatkan string baru dengan substrat diganti (Lihat NSString
dokumentasi untuk orang lain)
Contoh penggunaan
NSString *str = @"This is a string";
str = [str stringByReplacingOccurrencesOfString:@"string"
withString:@"duck"];
str
berubah dalam proses
NSString
objek 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"];
str
hanya meniup pikiran saya.