我是编程新手。我有字符串NSString *string = @"\U0420\U043e\U0437\U044b";
,并且在每个斜杠('\')
之后我需要添加另一个斜杠来获取这样的字符串@"\\U0420\\U043e\\U0437\\U044b"
我是编程和Objective-c的新手。请帮忙。
答案 0 :(得分:3)
我原来的回答是:
使用[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转义序列)。但是,如果您在运行时提供了类似的字符串(例如从文本文件中读取),则会存在\
个字符,您可以使用上面的代码。