将多个 replacingOccurrences() 与 Swift 组合
Combine multiple replacingOccurrences() with Swift
我有一个字符串,我想向特定字符添加反斜杠,因为我使用 markdown 并且我不想添加不需要的样式。
我试着做了一个函数,它可以工作,但我猜它效率不高:
func escapeMarkdownCharacters(){
let myString = "This is #an exemple #of _my_ * function"
var modString = myString.replacingOccurrences(of: "#", with: "\#")
modString = modString.replacingOccurrences(of: "*", with: "\*")
modString = modString.replacingOccurrences(of: "_", with: "\_")
print(modString) // Displayed: This is \#an exemple \#of \_my\_ \* function
}
我希望只有一个 "replacingOccurences" 可以用于多个字符 。我想我可以用正则表达式做到这一点,但我不知道怎么做。如果您有想法,请与我分享。
您可以使用
var modString = myString.replacingOccurrences(of: "[#*_]", with: "\\[=10=]", options: [.regularExpression])
使用原始字符串文字:
var modString = myString.replacingOccurrences(of: "[#*_]", with: #"\[=11=]"#, options: [.regularExpression])
结果:This is \#an exemple \#of \_my\_ \* function
options: [.regularExpression]
参数启用正则表达式搜索模式。
[#*_]
模式匹配 #
、*
或 _
,然后每个匹配都替换为反斜杠 (\\
) 和匹配值([=19=]
)。请注意,替换字符串中的反斜杠必须加倍,因为反斜杠在替换模式中具有特殊含义(当 $
前面有反斜杠时,它可用于使 [=19=]
成为文字字符串)。
我有一个字符串,我想向特定字符添加反斜杠,因为我使用 markdown 并且我不想添加不需要的样式。
我试着做了一个函数,它可以工作,但我猜它效率不高:
func escapeMarkdownCharacters(){
let myString = "This is #an exemple #of _my_ * function"
var modString = myString.replacingOccurrences(of: "#", with: "\#")
modString = modString.replacingOccurrences(of: "*", with: "\*")
modString = modString.replacingOccurrences(of: "_", with: "\_")
print(modString) // Displayed: This is \#an exemple \#of \_my\_ \* function
}
我希望只有一个 "replacingOccurences" 可以用于多个字符 。我想我可以用正则表达式做到这一点,但我不知道怎么做。如果您有想法,请与我分享。
您可以使用
var modString = myString.replacingOccurrences(of: "[#*_]", with: "\\[=10=]", options: [.regularExpression])
使用原始字符串文字:
var modString = myString.replacingOccurrences(of: "[#*_]", with: #"\[=11=]"#, options: [.regularExpression])
结果:This is \#an exemple \#of \_my\_ \* function
options: [.regularExpression]
参数启用正则表达式搜索模式。
[#*_]
模式匹配 #
、*
或 _
,然后每个匹配都替换为反斜杠 (\\
) 和匹配值([=19=]
)。请注意,替换字符串中的反斜杠必须加倍,因为反斜杠在替换模式中具有特殊含义(当 $
前面有反斜杠时,它可用于使 [=19=]
成为文字字符串)。