2011-06-08 33 views
15

左側卸下白色的空間,我只需要從NSString的我的意思是從NSString的

如果我有" This is a good day"的左側,取出白色的空間,我會"This is a good day"

只留下空間只有

任何建議,請

+0

@Jhaliya,看看下面@AMH需要:-) – EmptyStack 2011-06-08 12:28:28

+0

@Jhaliya,* stringByTrimmingCharactersInSet:*這是他實際上看起來的方法。在他的問題,他問*「取下的NSString左側空白」 *因爲在他的例子中,字符串有僅在左端的空白。 – EmptyStack 2011-06-08 12:31:20

+0

@Simon:你是對的,騙你西門,我想,他有一些特殊的要求,從左邊刪除。你可以添加你的答案。 – Jhaliya 2011-06-08 12:33:02

回答

69

只需使用

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

它將從左至右以及直接從中間

去除所有多餘的空間,但不併刪除這兩個空白和\n使用

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

如何刪除\ n使用去除換行符我做什麼,whitespaceAndNewlineCharacterSet不工作,只有刪除空白 – AMH 2011-06-08 12:27:05

+0

:閱讀我的問題有何評論? – 2013-12-03 11:10:27

-1
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 

然後,您可以追加牛逼在字符串爲

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

以下用於從您的中刪除白色和新的行符210。

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

@西蒙同樣的方法 – Jhaliya 2011-06-08 12:34:16

+0

+1,強迫我刪除我的答案。開玩笑。一爲正確答案:-) – EmptyStack 2011-06-08 12:43:24

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

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

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

這是一個可怕的解決方案,不爲許多其他可能的情況下,如正常運行@「這是一個美好的一天」,而它的葉子在字符串中領先的空間。這是如何得到upvoted? – 2018-03-07 15:02:29

0

這裏有一個解決方案,我想出了面臨着同樣的問題,當有:

- (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

僅限微調向左一個解決方法是一個虛擬的字符添加到您的字符串的權,修剪該字符串,然後將其刪除。

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