gpt4 book ai didi

swift - inout String 不能转换为 Swift 3 范围内的 String

转载 作者:搜寻专家 更新时间:2023-10-31 19:33:27 24 4
gpt4 key购买 nike

我有以下在 Swift 2 中运行良好的代码:

let myModifiedString = myOriginalString.replacingOccurrences(of: "#(?:\\S+)\\s?",
with: "",
options: .regularExpression,
range: Range(myOriginalString.characters.indices))

然而,我正忙着将我的代码升级到 Swift 3,我收到错误“inout String”无法转换为类型“String”。

错误发生在 myOriginalString.characters.indices 上。

我看到 Swift 3 对范围的实现方式以及一些字符串功能进行了一些更改。我似乎无法找到一个简洁的解决方案来解决问题并将此语句转换为正确的 Swift 3 语法。该语句的正确 Swift 3 语法是什么?

最佳答案

在 Swift 3 中,indices 属性已经成为索引的集合,而不再是一种范围。如果你想要一个代表整个字符串的索引范围,你需要这样写:

let myModifiedString = myOriginalString.replacingOccurrences(of: "#(?:\\S+)\\s?",
with: "",
options: .regularExpression,
range: myOriginalString.startIndex..<myOriginalString.endIndex)

关于swift - inout String 不能转换为 Swift 3 范围内的 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39745191/

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