gpt4 book ai didi

string - Swift 中的原始字符串

转载 作者:可可西里 更新时间:2023-11-01 00:53:55 26 4
gpt4 key购买 nike

在 Swift 中是否有与 Scala 的原始字符串或 C# 中的逐字字符串文字等价的功能?

没有转义字符的示例原始字符串(语法不正确):

val secretKey = """long\^578arandom&61~8791escaped&*^%@(chars"""

我曾尝试简要地浏览语言文档,但还没有找到功能上的等价物。

最佳答案

Swift 5 现在支持原始字符串。使用此功能,反斜杠和引号被解释为其各自的文字符号。它们不会被视为原始字符串中的转义字符或字符串终止符。

要使用原始字符串,使用# 符号(与 python 使用“r”或“R”相同)。以下是在 swift 5 中使用原始字符串的变体数量:

let myPets = #"The name of my dog is "barky" and my cat is "smily"."#
//The name of my dog is "barky" and my cat is "smily".

原始字符串内部 # 用于字符串插值,而不是 swift 通常的反斜杠。

let val = 1
let result = #"The answer is \#(val)."#
//The answer is 1

如果您想在原始字符串中使用#,请将## 放在开头和结尾。

let str = ##"I am happy bla#blablabla"##
//"I am happy bla#blablabla"

我猜原始字符串对正则表达式很有帮助,正则表达式定义中的反斜杠较少。例如:

let regex_Prev = "\\\\[A-Z]+[A-Za-z]+\\.[a-z]+"

现在我们可以写:

let regex_Swift5version = #"\\[A-Z]+[A-Za-z]+\.[a-z]+"#

关于string - Swift 中的原始字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24166678/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com