在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)
我有一个字符串数组,看起来有点像这样:
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)