我是编程新手。我有字符串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:]
(参考)。
NSString *string = @"\U0420\U043e\U0437\U044b";
NSString *converted = [string stringByReplacingOccurrencesOfString:@"\\"
withString:@"\\\\\\"];
但是我现在认为这是不对的,因为这些\
角色实际上并不存在于string
; 相反,编译器会将这些序列中的每一个转换为 unicode 字符。您将需要这样编码string
:
NSString *string = @"\\U0420\\U043e\\U0437\\U044b";
为了使用上面的代码。我看不到任何替代方案。
进一步更新:当我遇到这样的问题时,通常会在字符串文字和字符串数据之间产生混淆。在您的问题中,这些\
字符不会出现,因为编译器会将它们转换为 unicode 字符(\Uxxx
是单个字符的 unicode 转义序列)。但是,如果您在运行时提供了类似的字符串(例如从文本文件中读取),那么这些\
字符将存在,您可以使用上面的代码。