2014-02-19 93 views
-3

我已經看到了這裏如何使用實際的NSString的方法來移除所有的空格和換行符其他問題的結束,但這些影響字符串的開頭這我不想。如何修剪所有空格和換行字符在UITextView中的字符串

因此,讓我們說,例如我的用戶鍵入以下命令串到我的UITextView:HEY \ n \ n

有字母Y後跟一個換行符,兩個空格後兩個空格,最後另一上例中的新行字符。

我想什麼是一切書後從UITextView中的字符串,刪除年。

我會很感激任何指針,以幫助我解決這個問題。

- (void)textViewDidEndEditing:(UITextView *)textView 
{ 
    textView.text = [self removeCrapFrom:textView.text]; 
} 

- (NSString *)removeCrapFrom:(NSString *)string 
{ 
    NSUInteger location = 0; 
    unichar charBuffer[[string length]]; 
    [string getCharacters:charBuffer]; 
    int i = 0; 
    for (i = [string length]; i >0; i--) 
    { 
     if (![[NSCharacterSet whitespaceAndNewlineCharacterSet] characterIsMember:charBuffer[i - 1]]) 
     { 
      break; 
     } 
    } 
    return [string substringWithRange:NSMakeRange(location, i - location)]; 
} 
+0

什麼是錯的其他的答案? – nhgrif

+0

就像我說的,他們影響的開始和結束,我不希望 – klcjr89

+0

那你爲什麼不公佈與開頭空格/字符的字符串的例子嗎? – nhgrif

回答

-6

您可以使用:

NSString *newString = [aString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 

我在Xcode中測試了:

UITextView *textView = [[UITextView alloc] init]; 
textView.text = @"H E Y \n \n"; 
textView.text = [textView.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 
NSLog(@"textView.text = [%@]",textView.text); 

結果是:

textView.text = [H E Y] 
+0

請閱讀評論中的問題和討論。 – nhgrif