gpt4 book ai didi

ios - 在 Swift 3 中使用 switch 语句构建正则表达式

转载 作者:行者123 更新时间:2023-11-29 00:49:49 26 4
gpt4 key购买 nike

我在 Swift 3.0 中创建了一个生成 RegularExpression 的函数。我接近我想要的,但是反斜杠给我带来了很多麻烦。

我看过Swift Documentation我认为将“\”更改为 \u{005C}u{005C} 会解决问题,但事实并非如此。

这是我为正则表达式生成函数提供的数组:

var letterArray = ["a","","a","","","","","","",""]

这是我的方法的相关部分:

var outputString = String()

// getMinimumWordLength returns 3
let minimumWordLength = getMinimumWordLength(letterArray: letterArray)
// for the array above, maximumWordLength returns 10
let maximumWordLength = letterArray.count

var index = 0

for letter in letterArray {
if index < minimumWordLength {
if letter as! String != "" {
outputString = outputString + letter.lowercased
} else {
// this puts an extra \ in my regex
outputString = outputString + "\\w" // first \ is an escape character, 2nd one gets read
// this puts an extra backslash in, too
// outputString = outputString + "\u{005C}w"
}
}
index += 1
}

outputString = outputString + ("{\(minimumWordLength),\(maximumWordLength)}$/")

return outputString

我想要的输出是:

a\wa{3,10}$/

我的实际输出是:

a\\wa{3,10}$/

如果有人对我的错误提出建议,我欢迎他们。感谢您的阅读。

最佳答案

在调试器中打印字符串时,将显示转义字符。当它显示给用户时,它不会。 enter image description here

关于ios - 在 Swift 3 中使用 switch 语句构建正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38278856/

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