IOS:nsstring留下一些空格

时间:2012-04-22 11:02:14

标签: ios xcode nsstring uitextfield

我有一个特别的问题:

在NSSTring我有这个值“abcdef ghil” 我想检查第一个字符是否是空格并删除它(使用stringbyreplacing ...?) 在其他空间(从“f”到“g”)我想插入一个“ - ”

你可以帮帮我吗?

如果它可能有帮助;我从文本字段中取出这个字符串......

2 个答案:

答案 0 :(得分: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:@"-"];

答案 1 :(得分:0)

要删除您可以使用的第一个空格:

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

使用NSMakeRange(0,1)创建的范围,这是位置0和长度1,您将用“”替换第一个“”。

通过输出,你可以做到:

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

有了这个,你将用“ - ”替换所有“”。