Làm thế nào để thay thế một ký tự là một chuỗi trong Objective-C?
Làm thế nào để thay thế một ký tự là một chuỗi trong Objective-C?
Câu trả lời:
Bạn có thể sử dụng phương pháp
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target
withString:(NSString *)replacement
... để có được một chuỗi mới với một chuỗi con được thay thế (Xem NSString
tài liệu cho những người khác)
Ví dụ sử dụng
NSString *str = @"This is a string";
str = [str stringByReplacingOccurrencesOfString:@"string"
withString:@"duck"];
str
thay đổi trong quá trình
NSString
các đối tượng là bất biến (chúng không thể thay đổi), nhưng có một lớp con có thể thay đổi NSMutableString
, cung cấp cho bạn một số phương thức để thay thế các ký tự trong một chuỗi. Có lẽ đó là đặt cược tốt nhất của bạn.
Nó cũng thay thế chuỗi có thể nhìn thấy bằng chuỗiByReplacesChar characterInRange: 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
Vấn đề tồn tại trong các phiên bản cũ trên iOS. mới nhất, từ phải sang trái hoạt động tốt. Những gì tôi đã làm, như sau:
Đầu tiên tôi kiểm tra phiên bản iOS:
if (![self compareCurVersionTo:4 minor:3 point:0])
Hơn:
// 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
tâm trí tôi.