在Swift中,如何将一个句子数组拆分为多个数组,以指定的开头和结尾句子分隔?

In Swift, how would I split an array of sentences into multiple arrays, separated by a specified beginning and ending sentence?

我有一个字符串数组,看起来有点像这样:

array = ["ID=1", "sentence 1 here", "sentence 2 here", "END", "ID=2", "sentence 1 here", "sentence 2 here", "END"]

如何将这个数组分解成多个数组,如下所示:

array1 = ["ID=1", "sentence 1 here", "sentence 2 here", "END"]
array2 = ["ID=2", "sentence 1 here", "sentence 2 here", "END"]

到目前为止我看到的每个答案都只针对整数,对我没有用,因此我为什么要在这里问。

你可以使用Array的split(separator:maxSplits:omittingEmptySubsequences:)

使用“END”作为分隔符将产生几乎您正在寻找的结果,但它会删除分隔符,因此您需要将其添加回去(例如使用地图)

例如


let array = ["ID=1", "sentence 1 here", "sentence 2 here", "END", "ID=2", "sentence 1 here", "sentence 2 here", "END"]
let separator = "END"
let newArr = array.split(separator: separator).map {
    [=10=] + [separator]
}

let array1 = newArr[0]
let array2 = newArr[1]

print(array1)
print(array2)