【问题标题】:How do I add a space between two concatenated NSStrings?如何在两个连接的 NSString 之间添加空格?
【发布时间】:2010-10-14 20:32:24
【问题描述】:

我有三个字符串对象:

NSString *firstName;
NSString *lastName;
NSString *fullName;

firstNamelastName 的值是从 NSTextFields 接收的。

然后我想连接两个字符串并将结果放在fullname.

这是我正在使用的代码:

fullName = [firstName stringByAppendingString:lastName];

但是,结果不会在两个名称之间放置空格(例如 JohnSmith)。

如何添加空间?我希望结果看起来像 (John Smith)。

【问题讨论】:

    标签: objective-c nsstring concatenation


    【解决方案1】:
    fullName = [@[firstName, lastName]
                 componentsJoinedByString:@" "];
    

    【讨论】:

      【解决方案2】:

      我对其他答案的长度感到惊讶:

      fullname = [NSString stringWithFormat:@"%@ %@", firstname, lastname];
      

      【讨论】:

      • 解析格式说明符比简单的字符串连接需要更多的工作。
      【解决方案3】:

      这很正常。您必须自己添加空间。

      (NSString*) description { return [[[NSString alloc] 
                                initWithFormat:" %@ %@”, 
                                firstname, 
                                lastname] autorelease]; }
      

      【讨论】:

        【解决方案4】:

        最简单的方法是这样的:

        fullname = [[firstName stringByAppendingString:@" "] stringByAppendingString:lastName];
        

        即追加空格,然后追加姓氏。

        【讨论】: