2

我有一个特殊的问题:

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

你能帮助我吗?

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

4

2 回答 2

4

以下将执行您想要的操作,但需要注意的是它将修剪尾随空格以及前导空格,而不仅仅是单个前导或尾随空格字符。

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

如果您只想删除前导空格,那么您可能应该查看上一个问题:Cocoa - Trim allleading whitespace from NSString

更新:如果您真的只想删除字符串开头的一个空格,那么以下内容应该适合您:

NSString *original = @"  abcdef ghil";

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

NSString *final = [trimmed stringByReplacingOccurrencesOfString:@" " 
                                                     withString:@"-"];
于 2012-04-22T11:10:40.810 回答
0

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

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

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

使用此输出,您可以简单地执行以下操作:

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

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

于 2012-04-22T11:12:44.260 回答