Удалите пустое поле слева от NSString

Мне нужно удалить пробел только слева от NSString, я имею в виду

Если у меня есть " This is a good day", у меня будет "This is a good day"

только левые пробелы только

любое предложение пожалуйста

Ответы

Ответ 1

Просто используйте

NSString* result = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

он удалит все лишнее пространство слева и справа, но не из середины

и для удаления как пробела, так и \n используйте

NSString* result = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

Ответ 2

Используйте ниже, чтобы удалить белый и новый строки чатамента из NSString.

NSString* result = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

Ответ 3

Nsstring *str="   This is a good day";

  while ([str rangeOfString:@"  "].location != NSNotFound) {
    str = [str stringByReplacingOccurrencesOfString:@"  " withString:@" "];
}

nslog(@"string after removing space %@",)

Ответ 4

Вот решение, с которым я столкнулся, столкнулся с одной и той же проблемой:

- (NSString*)trimBlankCharactersFromBeginningOfString:(NSString*)originalString
{
    //we are only trimming the characters on the left side of the string
    NSInteger count = [originalString length];
    NSString *trimmedNewText = originalString;
    for (int i = 0; i < count; i++) {
        if([[originalString substringWithRange:NSMakeRange(i, 1)] rangeOfCharacterFromSet:[NSCharacterSet whitespaceCharacterSet]].location == NSNotFound)
        {
            trimmedNewText = [originalString substringFromIndex:i];
            break;
        }
        else
        {
            if(i+1 < count)
            {
                trimmedNewText = [originalString substringFromIndex:i+1];
            }
            //since we are exiting the loop as soon as a non blank space character is found
            //then this is just really checking to see if we are on the last character of an
            //all whitespace string. can't say i+1 here because that would give an index out
            //of bound exception
            else
            {
                trimmedNewText = @"";
            }
        }
    }
    return trimmedNewText;
}

Ответ 5

Для обрезки только влево решение должно добавить фиктивный символ справа от вашей строки, обрезать строку и затем удалить ее.

NSString* tempString = [NSString [email protected]"%@T", yourString];
NSString* result = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
return [result substringToIndex:[result length]-1];

Ответ 6

NSString *str = @" This is a good day";    
NSArray *arrString = [str componentsSeparatedByString:@"T"];
NSString *strSpace = [arrString objectAtIndex:0];   // White space
NSString *strString = [arrString objectAtIndex:1];   //This is a good day  

Затем вы можете добавить T в строку как

NSString *strT = @"T";
strString = [strT stringByAppendingString:strString];