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

Enhancing String Literals Delimiters to Support Raw Text Swift

我最近在 Swift 5 Book 上找到了这个代码片段。

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.”

我了解到 proposal 在 Swift 5 中被接受,用于增强字符串文字定界符以支持原始文本,给出了很多示例。

我的问题是什么时候以及如何在实际情况下使用它,因为从上面给出的例子来看,即使没有#标志,我仍然可以清楚地实现我想要的!

仅举一个非常有用的例子。在编写 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