Удалить пробел слева от NSString - PullRequest
15 голосов
/ 08 июня 2011

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

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

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

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

Ответы [ 7 ]

69 голосов
/ 08 июня 2011

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

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

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

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

NSString* result = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
4 голосов
/ 08 июня 2011

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

NSString* result = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
2 голосов
/ 15 марта 2012
Nsstring *str="   This is a good day";

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

nslog(@"string after removing space %@",)
0 голосов
/ 23 ноября 2018

ТОЛЬКО левые пробелы

while ([[yourString substringToIndex:1] isEqualToString:@" "])
    yourString = [yourString substringFromIndex:1];
0 голосов
/ 09 ноября 2017

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

NSString* tempString = [NSString stringWithFormat@"%@T", yourString];
NSString* result = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
return [result substringToIndex:[result length]-1];
0 голосов
/ 10 декабря 2014

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

- (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;
}
0 голосов
/ 08 июня 2011
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];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...