Arrays 循环以拆分数组Swift 3中的字符串
如何从这个数组[“1”、“2”、“3”、“4”、…]或[“1”、“2”、“3”、“4”、…]中获得以下输出[“1”、“2”、“3”、“4”、…]。您只需使用for循环将其拆分即可Arrays 循环以拆分数组Swift 3中的字符串,arrays,swift,Arrays,Swift,如何从这个数组[“1”、“2”、“3”、“4”、…]或[“1”、“2”、“3”、“4”、…]中获得以下输出[“1”、“2”、“3”、“4”、…]。您只需使用for循环将其拆分即可 var str = ["1 one", "2 two", "3 three", "4 four"] var first: [String] = [] var second: [String] = [] var splited: [String] = [] for value in str { splited
var str = ["1 one", "2 two", "3 three", "4 four"]
var first: [String] = []
var second: [String] = []
var splited: [String] = []
for value in str {
splited = value.components(separatedBy: " ")
first.append(splited[0])
second.append(splited[1])
}
感谢@Martin R在这种格式的
数组上尝试以下解决方案[“1 1”、“2 2”、“3 3”、“4 4”、…]
var firstValArr : [String]?
var lastValArr : [String]?
for i in 0 ..< yourArray.count {
let arrayElement = yourArray[i]
let splitArrayElement = arrayElement.components(separatedBy: " ")
let firstValue = splitArrayElement[0]
let lastValue = splitArrayElement[1]
firstValArr.append(firstValue)
lastValArr.append(lastValue)
}
print("First Value Array : \(firstValArr)")
print("Last Value Array: \(lastValArr)")
var firstValArr:[字符串]?
var lastValArr:[字符串]?
对于0中的i..
不需要循环。调用map
并将闭包中的字符串按space
拆分,然后返回第一个或第二个项。谢谢vadian,但是我如何调用map来拆分数组中的字符串呢?让输入=[“1-1”、“2-2”、“3-3”、“4-4”]var-out1:[string]=[]var-out2:[string]=[]输入。forEach{guard case let comps=$0.0(分隔符:),let first=comps.first,let last=comps.last else{return}out1.append(first)out2.append(last)}
很有效,谢谢Leo Dabus。@MartinR,for循环有不同的使用方法。有不同的优缺点。起初我在0中使用了for i…str.count-1{…}
。但在那之后我改变了主意。@MartinR你的建议是什么?最好的方法是使用Swift惯例,以小写字母开头命名实例。顺便说一句,使用Array(Swift原生类型)作为名称是非常误导人的