Aggiungere al backslash String in Objective-C
-
22-09-2019 - |
Domanda
Ho un problema identico a questo problema qui .
ho anche voglia di codificare lo stesso infromation come lui (è una data / ora per asp.net) ...
Quando mai provo ad aggiungere una barra rovesciata ottengo due barre rovesciate da quando ho usato \.
Tutti nel filo sopra è affermato che questo è un problema con NSLog e che fa NSString trattare \\
come \
. Ho controllato questo ulteriore utilizzando un packet sniffer per esaminare i pacchetti che sto inviando al server web e posso confermare che sta trasmettendo una doppia barra rovesciata invece di una singola barra rovesciata.
Qualcuno sa come aggiungere una barra rovesciata per un NSString?
Soluzione
Le stringhe e NSLog stanno lavorando bene per me:
NSLog(@"\\"); // output is one backslash
NSLog(@"\\\\"); // output is two backslashes
NSLog(@"\\/Date(100034234)\\/"); // output is \/Date(100034234)\/
Che cosa mi manca?
Altri suggerimenti
Prova questo:
yourStr = [yourStr stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"];
NSLog(@"%@", yourStr);
Ho avuto lo stesso problema, si è rivelato che il mio JSON parser sostituito tutte le occorrenze di "\\" con "\\\\", così quando ho NSLogged il mio codice originale come questo:
NSString *jsonString = [myJSONStuff JSONRepresentation];
NSLog(@"%@", jsonString);
Questo è quello che ho ottenuto:
{TimeStamp: "\\ / Data (12345678) \\ /"}
Tuttavia, la stringa stessa conteneva quattro barre rovesciate (ma solo 2 di loro vengono stampati NSLog).
Questo è ciò che mi ha aiutato:
NSString *jsonString = [myJSONStuff JSONRepresentation];
jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"];
NSLog(@"%@", jsonString);
Il risultato:
{TimeStamp: "\ / Data (12345678) \ /"}