原始字符串,例如Objective-C中的Python

Cas*_*ash 4 string objective-c

Objective-C是否具有像Python一样的原始字符串

说明:原始字符串不能解释转义序列,例如\n:斜杠和“ n”都是字符串中的单独字符。从链接的Python教程中:

>>> print 'C:\some\name'  # here \n means newline!
C:\some
ame
>>> print r'C:\some\name'  # note the r before the quote
C:\some\name
Run Code Online (Sandbox Code Playgroud)

Yuj*_*uji 5

Objective-C是C的超集。因此,答案是肯定的。你可以写

char* string="hello world";
Run Code Online (Sandbox Code Playgroud)

任何地方。然后,您可以将其变成NSString以后

NSString* nsstring=[NSString stringWithUTF8String:string];
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以使用 stringize 宏。

#define MAKE_STRING(x) @#x

NSString *expendedString = MAKE_STRING(
hello world
"even quotes will be escaped"
);
Run Code Online (Sandbox Code Playgroud)

预处理结果为

NSString *expendedString = @"hello world \"even quotes will be escaped\"";
Run Code Online (Sandbox Code Playgroud)

如您所见,双引号被转义,但新行被忽略。这个功能非常适合在 Objective-C 文件中粘贴一些 JS 代码。如果您使用 C99,则使用此功能是安全的。

来源: