如何在特定字符串后将字符串放入字符串

时间:2013-02-21 11:31:27

标签: objective-c

我是编程新手。我有字符串NSString *string = @"\U0420\U043e\U0437\U044b";,并且在每个斜杠('\')之后我需要添加另一个斜杠来获取这样的字符串@"\\U0420\\U043e\\U0437\\U044b"

我是编程和Objective-c的新手。请帮忙。

1 个答案:

答案 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转义序列)。但是,如果您在运行时提供了类似的字符串(例如从文本文件中读取),则会存在\个字符,您可以使用上面的代码。