NSMutableString appendFormat ...添加空格?

时间:2012-01-29 23:15:36

标签: iphone ios nsstring

尝试使用appendFormat附加到NSMutableString时 - 它会添加空格。

NSM只是一个NSMutableString,att_1_variable& att_2_variable是NSString

[NSM appendFormat:@"<tagname att_1=\" %@ \" att_2=\" %@ \">", att_1_variable, att_2_variable];

结果是:

<tagname myattribute="  ContentOfVariable  " title=" ContentOfVariable  ">

在传递我正在做的字符串之前:

    NSString* att_1_variable = [att_1_variable_orginal stringByTrimmingCharactersInSet:
                  [NSCharacterSet whitespaceAndNewlineCharacterSet]];

有什么方法吗?

由于 问候 基督教

2 个答案:

答案 0 :(得分:2)

您自己添加空格,方法是将它们包含在格式字符串中。在C中,引号的转义序列只是\",没有尾随(或前导)空格。所以你想要:

[NSM appendFormat:@"<tagname myattribute=\"%@\" title=\"%@\">", 
                                 attributeVariable, titleVariable];

如果引号和变量内容之间有空格,则输入变量用空格填充。您可以使用以下内容修剪:

NSString *trimmedAttributeVariable = [attributeVariable
        stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

...

[NSM appendFormat:@"<tagname myattribute=\"%@\" title=\"%@\">", 
                                 trimmedAttributeVariable, ...

将从两端修剪空格和制表符。

答案 1 :(得分:0)

我认为你希望结果是

<tagname myattribute="ContentOfVariable" title="ContentOfVariable">

在这种情况下,删除格式说明符周围的多余空格:

[NSM appendFormat:@"<tagname myattribute=\"%@\" title=\"%@\">", attributeVariable, titleVariable];
相关问题