[objective-c] NSString에서 문자를 제거 하시겠습니까?

NSString *myString = @"A B C D E F G";

공백을 제거하고 싶으므로 새 문자열은 “ABCDEFG”가됩니다.



답변

다음을 사용할 수 있습니다.

NSString *stringWithoutSpaces = [myString
   stringByReplacingOccurrencesOfString:@" " withString:@""];


답변

한 번에 둘 이상의 공백을 지원하거나 공백을 지원하려면 다음을 수행하십시오.

NSString* noSpaces =
    [[myString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
                           componentsJoinedByString:@""];


답변

NSString 에서 가져옴

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 방법처럼 작동합니다. 모든 앞뒤 공간을 제거합니다.

감사


답변

문자열이 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;
}

이것이 당신을 도울 수 있기를 바랍니다.


답변