增强字符串文字定界符以支持原始文本 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
我最近在 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