我是編程新手。我有字符串NSString *string = @"\U0420\U043e\U0437\U044b";
和每個斜槓('\')
後我需要把另一個斜槓得到像這樣的字符串@"\\U0420\\U043e\\U0437\\U044b"
如何將字符串放入特定字符串後的字符串
我是編程和objective-c的新手。請幫忙。
我是編程新手。我有字符串NSString *string = @"\U0420\U043e\U0437\U044b";
和每個斜槓('\')
後我需要把另一個斜槓得到像這樣的字符串@"\\U0420\\U043e\\U0437\\U044b"
如何將字符串放入特定字符串後的字符串
我是編程和objective-c的新手。請幫忙。
我原來的答案是:
使用[NSString stringByReplacingOccurrencesOfString:withString:]
(reference)。
NSString *string = @"\U0420\U043e\U0437\U044b";
NSString *converted = [string stringByReplacingOccurrencesOfString:@"\\"
withString:@"\\\\\\"];
不過我現在不認爲這是正確的給出的\
字符不會實際存在於string
;相反,編譯器會將這些序列中的每一個轉換爲unicode字符。您將需要編碼string
就象這樣:
NSString *string = @"\\U0420\\U043e\\U0437\\U044b";
爲了使用上面的代碼。我看不到任何替代方案。
更多更新:通常當我遇到像這樣的問題時,字符串文字和字符串數據之間會出現混淆。在你的問題中,那些\
字符將不會出現,因爲編譯器已經將它們轉換爲unicode字符(\Uxxx
是單字符的Unicode轉義序列)。但是,如果您在運行時提供了類似的字符串(例如,從文本文件讀取),那麼這些字符將存在,您可以使用上面的代碼。
,但是我不能這樣做,因爲json給我它作爲「\ U0420 \ U043e \ U0437 \ U044b」,我需要轉換成俄文字母。我試圖用[NSString stringWithCString:[string cStringUsingEncoding:NSUTF8StringEncoding] encoding:NSNonLossyASCIIStringEncoding]將此字符串轉換爲「\\ U0420 \\ U043e \\ U0437 \\ U044b」(帶雙斜槓) – Asike 2013-02-21 11:47:15
@Asike你如何驗證JSON給你的字符串?如果這些斜槓字符實際存在於字符串中,那麼您將需要做的不僅僅是添加斜槓。我也懷疑'stringWithCString'是否會做你想要的。 – trojanfoe 2013-02-21 11:55:34
似乎我需要用NSJSONSerialization做些事情,但無論如何謝謝 – Asike 2013-02-21 12:00:20
不清楚你想要什麼,因爲這些字符串是相同的? – trojanfoe 2013-02-21 11:32:41
不好意思,我只是糾正了 – Asike 2013-02-21 11:34:26