NSString -stringByTrimmingCharactersInSet: 是個你需要牢牢記住的方法。它經常會傳入 NSCharacterSet +whitespaceCharacterSet 或 +whitespaceAndNewlineCharacterSet 來刪除輸入字串的頭尾的空白符號。
需要重點注意的是,這個方法 僅僅 去除了 開頭 和 結尾 的指定字元集中連續字元。這就是說,如果你想去除單詞之間的額外空格,請看下一步。
假設你去掉字串兩端的多餘空格之後,還想去除單詞之間的多餘空格,這裡有個非常簡便的方法:
NSString *string = @"Lorem ipsum dolar sit amet.";string = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];NSArray *components = [string componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];components = [components filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self <> ''"]];string = [components componentsJoinedByString:@" "];//按單空格分割
步驟是:首先,刪除字串首尾的空格;然後用 NSString -componentsSeparatedByCharactersInSet: 在空格處將字串分割成一個 NSArray;再用一個 NSPredicate 去除空串;最後,用 NSArray -componentsJoinedByString: 用單個空格符將數組重新拼成字串。注意:這種方法僅適用於英語這種用空格分割的語言。