2010-01-22 99 views
2

我遇到與此問題相同的問題here將反斜槓添加到Objective中的字符串-c

我甚至想編碼相同infromation因爲他(它是asp.net的日期/時間)...

當過我嘗試添加一個反斜槓我得到兩個反斜槓,因爲我用\。

上面的線程中的每個人都聲稱這是NSLog的問題,並且NSString將\\視爲\。我已經通過使用數據包嗅探器檢查了我要發送到網絡服務器的數據包進一步檢查了這一點,我可以確認它正在傳輸雙反斜槓而不是單個反斜槓。

有誰知道如何添加反斜槓到NSString?

回答

6

的字符串和NSLog的是爲我工作的罰款:

NSLog(@"\\"); // output is one backslash 
NSLog(@"\\\\"); // output is two backslashes 
NSLog(@"\\/Date(100034234)\\/"); // output is \/Date(100034234)\/ 

我缺少什麼?

+1

喜格里, 你試過了嗎? (@「\\/Date(1234534534)\\ /」);爲我輸出一個雙反斜槓。 更重要的是,當我通過http傳輸該字符串時,數據包中出現雙反斜槓 – 2010-01-22 11:05:47

+0

它適用於我(我從您的評論中複製了確切的代碼)。我正在運行iPhone SDK 3.1.2和Xcode 3.2.1。 – gerry3 2010-01-22 11:11:20

+0

在我的機器上NSLog(@「\\%@」,[NSString stringWithFormat:@「\\ n \\\ t」])正確輸出「\\ n \\ t」 – Costique 2010-01-22 11:15:27

2

試試這個:

yourStr = [yourStr stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"]; 
NSLog(@"%@", yourStr); 

我有同樣的問題,原來,我的JSON解析器更換所有「\\」的occurrances與「\\\\」,所以當我NSLogged我原來的這樣的代碼:

NSString *jsonString = [myJSONStuff JSONRepresentation]; 
NSLog(@"%@", jsonString); 

這是我得到:

{時間戳: 「\\ /日期(12345678)\\ /」}

然而,字符串本身包含四個反斜槓(但其中只有2通過NSLog的打印)。

這是幫助我:

NSString *jsonString = [myJSONStuff JSONRepresentation]; 
jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"]; 
NSLog(@"%@", jsonString); 

結果:

{時間戳: 「\ /日期(12345678)\ /」}

+0

當從包含NSString對象的NSDictionary轉換爲NSString時,這種情況也發生在我身上。 – 2016-04-25 10:47:38

相關問題