2012-04-22 73 views
2

我有一個特別的問題:IOS:NSString的留一些空間

在的NSString

我有這個值「ABCDEF ghil」 我要檢查,如果第一個字符是一個空間,並刪除它(與stringbyreplacing ... ?) 和其他空間(從「f」到「g」)我想插入一個「 - 」

你能幫我嗎?

如果它可能有幫助;我從文本字段中取出該字符串...

回答

4

以下內容將按照您的要求進行操作,但需要注意的是,它將修剪尾隨空格以及引導空格,而不僅僅是單個前導或尾隨空格字符。

NSString *original = @" abcdef ghil"; 
NSString *trimmed = [original stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
NSString *final = [trimmed stringByReplacingOccurrencesOfString:@" " 
                withString:@"-"]; 

如果你只是想刪除前導空格,那麼你或許應該看看這個前面的問題:Cocoa - Trim all leading whitespace from NSString

更新:如果你真的只是想在字符串的開頭刪除單個空間那麼下面應該爲你工作:

NSString *original = @" abcdef ghil"; 

NSString *trimmed = [original stringByReplacingOccurrencesOfString:@" " 
                 withString:@"" 
                  options:0 
                  range:NSMakeRange(0, 1)]; 

NSString *final = [trimmed stringByReplacingOccurrencesOfString:@" " 
                withString:@"-"]; 
0

刪除第一個白色的空間,您可以使用:

- (NSString *)stringByReplacingCharactersInRange:(NSRange)range withString:(NSString *)replacement 

用NSMakeRange(0,1)創建的範圍,這是位置0和長度1,您將用「」替換第一個「」。

隨着這個,你可以簡單地做輸出:

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement 

有了這個,你將全部替換「」與「 - 」。