替换swift中的子字符串?

替换swift中的子字符串?,swift,string,replace,Swift,String,Replace,我有这样一个字符串: let someString = "The (randomcharacters)(someknowncharacters) are playing in the NBA Finals" 我想用字符串替换字符串和之间的所有内容(一些是字符串战士。我已经考虑过使用,但这并不是我想要的。使用一些“somerandomcharacters”意味着你基本上是在使用字符串作为一个字符串(真的很糟糕)车辆可以传输多个数据段。但我们已经有了一种方法,即使用数据类型 我们可以创建一个结构来

我有这样一个字符串:

let someString = "The (randomcharacters)(someknowncharacters) are playing in the NBA Finals"
我想用字符串
替换字符串
之间的所有内容(一些
是字符串
战士
。我已经考虑过使用,但这并不是我想要的。使用一些“somerandomcharacters”意味着你基本上是在使用字符串作为一个字符串(真的很糟糕)车辆可以传输多个数据段。但我们已经有了一种方法,即使用数据类型

我们可以创建一个结构来保存描述篮球比赛所需的信息。我们可以在整个应用程序中传递这些数据,非常容易地访问其重要组件。只有我们的UI层需要一个字符串,因此我们只能在UI层的最后一刻生成此结构的字符串描述

struct BasketballTeam {
    var name: String
}

struct BasketballGame: CustomStringConvertible {
    let homeTeam: BasketballTeam
    let awayTeam: BasketballTeam
    let eventName: String

    var description: String {
        return "The \(homeTeam.name) are playing the \(awayTeam.name) in the \(eventName)."
    }
}

let game = BasketballGame(
    homeTeam: BasketballTeam(name: "Toronto Raptors"),
    awayTeam: BasketballTeam(name: "Golden State Warriors"),
    eventName: "NBA Finals"
)
print(game.description) // => The Toronto Raptors are playing the Golden State Warriors in the NBA Finals.

下面是使用
replacementsof

func replace(_ original: String, between firstPart: String, and secondPart: String, with: String ) -> String {
    let pattern = "\(firstPart) .* \(secondPart)"
    let replacement = "\(firstPart) \(with) \(secondPart)"
    return original.replacingOccurrences(of: pattern, with: replacement, options: .regularExpression)
}
它可能需要一些调整来处理被替换单词周围的空格

范例

let newString = replace("The Raptors are playing in the NBA Finals", between: "The", and: "are", with: "Warriors")

看,这个问题现在有点不清楚了,你想替换的总是“猛禽”还是那部分也是随机的?我假设之前有一个空格(somerandom…)?这是你在运行时得到的字符串,也就是说,你不能只插入字符串?@JoakimDanielson没有空格。它不总是“猛禽”我想替换的。我想做的是能够在两个已知的字符串之间进行替换。所以“somerandomcharacters”不是随机的,真的吗?我想你需要给出一些例子,解释它们应该如何更改,编译时知道什么,运行时知道什么。