반응형
Objective-C에서의 문자열 치환
문자를 바꾸는 방법은 Objective-C의 문자열입니까?
다음과 같은 방법을 사용할 수 있습니다.
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target
withString:(NSString *)replacement
...서브스트링이 교체된 새 문자열을 얻으려면 (기타 내용은 설명서를 참조하십시오)
사용 예
NSString *str = @"This is a string";
str = [str stringByReplacingOccurrencesOfString:@"string"
withString:@"duck"];
NSString
오브젝트는 불변(변경 불가)하지만 문자열 내의 문자를 치환하기 위한 몇 가지 메서드를 제공하는 가변 서브클래스가 있습니다.그게 최선책일 거야
문자열을 여러 개 치환하는 경우:
NSString *s = @"foo/bar:baz.foo";
NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@"/:."];
s = [[s componentsSeparatedByCharactersInSet: doNotWant] componentsJoinedByString: @""];
NSLog(@"%@", s); // => foobarbazfoo
또한 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
이 문제는 iOS의 이전 버전에서 발생합니다. 최신 버전에서는 오른쪽에서 왼쪽으로 올바르게 작동합니다.제가 한 일은 다음과 같습니다.
먼저 iOS 버전을 확인합니다.
if (![self compareCurVersionTo:4 minor:3 point:0])
대상:
// 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"];
언급URL : https://stackoverflow.com/questions/668228/string-replacement-in-objective-c
반응형
'programing' 카테고리의 다른 글
How do I use an INSERT statement's OUTPUT clause to get the identity value? (0) | 2023.04.23 |
---|---|
순서 무시로 동일한 두 목록 개체 비교 (0) | 2023.04.23 |
iPhone 앱에서 iOS 7 상태 표시줄을 iOS 6 기본 스타일로 되돌리나요? (0) | 2023.04.23 |
Visual Studio에서 생성된 Windows 서비스 설치 (0) | 2023.04.23 |
키보드가 입력 필드를 덮는 경우에만 보기 위로 이동 (0) | 2023.04.23 |