2012-01-29 80 views
1

當試圖用appendFormat追加到NSMutableString時 - 它增加了空格。NSMutableString appendFormat ...添加空格?

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]]; 

是有沒有辦法解決這個問題?

感謝 問候 基督教

+1

能告訴你周圍更多的代碼電話?目前還不清楚還有哪些事情正在進行。 – dasblinkenlight 2012-01-29 23:18:26

+0

'appendFormat:'不會添加額外的空格。你能告訴我們'appendFormat:'之前有什麼'NSM',它是什麼以及你期待什麼? – Tommy 2012-01-29 23:19:17

回答

2

你自己添加的空間,通過包括他們在格式字符串。在C中,引號的轉義序列只是\",沒有尾隨(或前導)空格。所以,你想:

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

如果有之後那麼你的輸入變量一些空格引號和變量內容之間的空格。您可以用類似的方法修剪它們:

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

... 

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

這將修剪兩端的空格和製表符。

+0

你是男人 - 謝謝 – 2012-01-29 23:36:36

0

我想你想要得到的結果是

​​

在這種情況下,去除多餘的空間,是周圍的格式說明這樣:

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

對不起,湯米來了之前1分鐘:-)謝謝你們搖滾......問候 – 2012-01-29 23:37:15

+0

雖然技術上13秒左右,他應得的:) 乾杯。 – 2012-01-29 23:38:46