2013-03-27 63 views
2

我已經閱讀一切,\」不工作加雙引號的NSString

我想創建一個字符串,它看起來像這樣:

‘SomeString’=‘AnotherString’

這裏是我必須插入雙引號代碼:

NSString *newOutput = [NSString stringWithFormat:@"%@ \" = \" %@", output, [englishDic objectForKey:str]]; 

所有,它是輸出:

"RateThisAppDontAsk \" = \" Don't ask again" 

我想也許是「=」是造成問題,但除去仍然給我一個這樣的輸出:

"RateThisAppDontAsk \" \" Don't ask again" 

任何幫助將非常感謝!

+0

什麼是你提供的參數,這兩個字符串,'輸出'和'[englishDic objectForKey:str]'? – Caleb 2013-03-27 20:19:58

+1

整天我一直在用'\「編寫JSON字符串,用於引用周圍名稱和字符串。Xcode在過去的20分鐘內肯定已經打破了一段時間 – 2013-03-27 20:25:24

+0

很難看出你聲稱的輸出可能來自例如,要在輸出中產生'\「,格式字符串必須包含'\\\」'。 – Caleb 2013-03-27 20:28:09

回答

21

適用於我在一個小小的MacOS X命令行測試程序。這裏的所有代碼:

#import <Foundation/Foundation.h> 

int main(int argc, const char * argv[]) 
{ 
    @autoreleasepool { 
     NSString *newOutput = [NSString stringWithFormat:@"%@ \" = \" %@", @"foo", @"bar"]; 
     NSLog(newOutput); 
    } 
    return 0; 
} 

輸出是:

test[54844:403] foo " = " bar 

如果你想之前報價和後酒吧,添加這些:

NSString *newOutput = [NSString stringWithFormat:@"\"%@\" = \"%@\"", @"foo", @"bar"]; 

新的輸出:

test[54873:403] "foo" = "bar" 
+0

你錯過了其他兩個期望的雙引號。 – rmaddy 2013-03-27 20:21:05

+1

@rmaddy我只是想表明逃避引號確實有效,與OP說的相反。然而,如你所指出的那樣,如果他們希望兩個字符串被引用,那麼OP的格式字符串是錯誤的,所以我添加了一個更正的格式字符串和樣本輸出。 – Caleb 2013-03-27 20:24:38

+0

我剛剛做了一個不同的輸出格式。你的格式'@「\」%@ \「= \」%@ \「」,@「foo」,@「bar」]'對我來說不起作用。它必須是stringWithFormat的問題? – random 2013-03-27 20:33:11

0

這就是你需要做什麼

NSString *firstObject = @"RateThisAppDontAsk"; 
NSString *secondObject = @"Don't ask again"; 
NSString *newOutput = [NSString stringWithFormat:@"\"%@\" = \"%@\"",firstObject,secondObject]; 

輸出

test[4556:c07] "RateThisAppDontAsk" = "Don't ask again" 
3
NSString *output = @"RateThisAppDontAsk"; 
NSString *nextString = @"Don't ask again"; 

NSString *newOutput = [NSString stringWithFormat:@"\"%@\" = \"%@\"", output, nextString]; 
NSLog(@"%@",newOutput); 

輸出

"RateThisAppDontAsk" = "Don't ask again"