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

问题描述

我有一些看起来像这样的字符串数组:

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

如何将这个数组分解成多个看起来像这样的数组:

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

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

解决方法

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

使用“ END”作为分隔符将产生几乎您想要的结果,但是它将删除分隔符,因此您需要将其重新添加(例如,使用地图)

例如


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

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

print(array1)
print(array2)