增强字符串文字定界符以支持原始文本Swift

时间:2019-04-14 15:24:44

标签: string delimiter swift5 rawstring

我最近在Swift 5书中找到了这些代码段。

print(#"Write an interpolated string in Swift using \(multiplier)."#)
// Prints "Write an interpolated string in Swift using \(multiplier).”

print(#"6 times 7 is \#(6 * 7)."#)
// Prints "6 times 7 is 42.”

我了解到它是Swift 5中公认的proposal,用于增强字符串文字定界符以支持原始文本,并提供了许多示例。

我的问题是在实际情况下何时以及如何使用它,因为从以上给出的示例中,即使没有#符号,我仍然会清楚地达到我想要的目标!

1 个答案:

答案 0 :(得分:0)

仅举一个非常有用的示例。编写Regex时怎么样,以前这是一场噩梦,因为您必须转义所有特殊字符。例如

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

现在可以替换为

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

更容易编写。现在,当您在线上找到正则表达式时,只需复制并粘贴正则表达式即可,而不必花费很多时间转义特殊字符。

编辑:

可以在这里阅读

https://www.hackingwithswift.com/articles/162/how-to-use-raw-strings-in-swift