【问题标题】:IOS: nsstring leave some spacesIOS:nsstring留一些空格
【发布时间】:2012-04-22 11:02:14
【问题描述】:

我有一个特殊的问题:

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

你能帮帮我吗?

如果有帮助的话;我从文本字段中获取此字符串...

【问题讨论】:

    标签: ios xcode nsstring uitextfield


    【解决方案1】:

    以下内容将满足您的要求,但需要注意的是,它将修剪尾随空格和前导空格,而不仅仅是单个前导或尾随空格字符。

    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:@"-"];
    

    【讨论】:

      【解决方案2】:

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

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

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

      有了这个输出,你可以做的很简单:

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

      这样你将把所有的“”替换为“-”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-07-11
        • 2021-05-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-16
        相关资源
        最近更新 更多