NSString *myString = @"A B C D E F G";
공백을 제거하고 싶으므로 새 문자열은 "ABCDEFG"가됩니다.
답변:
다음을 사용할 수 있습니다.
NSString *stringWithoutSpaces = [myString
stringByReplacingOccurrencesOfString:@" " withString:@""];
한 번에 둘 이상의 공백을 지원하거나 공백을 지원하려면 다음을 수행하십시오.
NSString* noSpaces =
[[myString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
componentsJoinedByString:@""];
A B C D E F
.
stringByReplacingOccurrencesOfString:withString:
수신자에서 대상 문자열의 모든 발생이 다른 지정된 문자열로 대체되는 새 문자열을 반환합니다.
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
매개 변수
표적
The string to replace.
바꿔 놓음
The string with which to replace target.
반환 값
수신자의 모든 target 항목이 대체로 대체되는 새 문자열입니다.
위의 모든 것이 잘 작동합니다. 그러나 올바른 방법은 다음과 같습니다.
yourString = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
TRIM 방법처럼 작동합니다. 모든 앞뒤 공간을 제거합니다.
감사
[NSCharacterSet whitespaceCharacterSet]
및 의 존재 [NSCharacterSet whitespaceAndNewlineCharacterSet]
.
문자열이 mutable 이면 다음 형식을 사용하여 제자리에서 변환 할 수 있습니다.
[string replaceOccurrencesOfString:@" "
withString:@""
options:0
range:NSMakeRange(0, string.length)];
결과가 입력 문자열의 변경 가능한 인스턴스가되기를 원하는 경우에도 유용합니다.
NSMutableString * string = [concreteString mutableCopy];
[string replaceOccurrencesOfString:@" "
withString:@""
options:0
range:NSMakeRange(0, string.length)];
당신은 이것을 시도 할 수 있습니다
- (NSString *)stripRemoveSpaceFrom:(NSString *)str {
while ([str rangeOfString:@" "].location != NSNotFound) {
str = [str stringByReplacingOccurrencesOfString:@" " withString:@""];
}
return str;
}
이것이 당신을 도울 수 있기를 바랍니다.