2013-03-27 4 views
2

Я читал все, и \»не работаетДобавление двойных кавычек в NSString

Я пытаюсь создать строку, которая выглядит следующим образом:.

„SomeString“=„AnotherString“

Вот код, который я должен вставить двойные кавычки:

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

Все, что он выдает это:

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

Я думал, что, может быть, «=» вызывало проблемы, но удаление все еще дает мне выход этого:

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

Любая помощь будет очень признателен!

+0

Какие две строки вы предоставляете в качестве параметров, ' output' и '[englishDic objectForKey: str]'? – Caleb

+1

Весь день я писал строки JSON с '\' 'для цитат, связанных с именами и строками. Xcode должен был сломаться когда-то за последние 20 минут. –

+0

Трудно видеть, как результат, который вы утверждаете, возможно, исходил из которую вы предоставляете. Например, для создания '\' 'в выводе, строка формата должна содержать' \\\ ''. – Caleb

ответ

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

+1

@rmaddy Я просто хотел показать, что ускользание кавычек действительно работает, вопреки тому, что говорит OP.Тем не менее, строка формата OP неправильна, если они хотят, чтобы обе строки цитировались, как вы указываете, поэтому я добавил исправленную строку формата и образец вывода. – Caleb

+0

Я просто закончил работу с другим форматом вывода. Ваш формат '@ "\"% @ \ "= \"% @ \ "", @ "foo", @ "bar"]' не работает для меня скопированным дословно. Должна быть проблема с stringWithFormat? – random

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" 
Смежные вопросы