Ios Swift将字符串从一个字母放到所有字母的数组中
我想通过编程将字符串添加到数组中,但从第一个字母到最后一个字母。但不是每封信都是分开的 大概是这样的: 我试过这个:Ios Swift将字符串从一个字母放到所有字母的数组中,ios,arrays,swift,string,Ios,Arrays,Swift,String,我想通过编程将字符串添加到数组中,但从第一个字母到最后一个字母。但不是每封信都是分开的 大概是这样的: 我试过这个: let username = "Julius" //(1) var name = "" //(2) var i:Int! = 0 while i != username.count { i += 1 //get nth(i) char of String(1) //add char to String (2) //add to Arra
let username = "Julius" //(1)
var name = "" //(2)
var i:Int! = 0
while i != username.count {
i += 1
//get nth(i) char of String(1)
//add char to String (2)
//add to Array
}
你可以用这样的东西
var str = "julius"
var nameArray = [String]()
var item = ""
for char in Array(str) {
item += String(char)
nameArray.append(item)
}
print(nameArray)
编辑
试试这个功能
func addLetters(string: String)->[String]{
var stringArray = [String]()
for (i, s) in string.enumerated(){
if i == 0 {
stringArray.append(String(s))
}
else{
stringArray.append(stringArray[i - 1] + String(s))
}
}
print(stringArray)
return stringArray
}
addLetters(string: "Julius")
//Print: ["J", "Ju", "Jul", "Juli", "Juliu", "Julius"]
让string=您可以使用reduce,它将对字符进行迭代,并允许您访问所有迭代的字符:
let usernameAsArray = "julius".reduce([]) { $0 + [($0.last ?? "") + "\($1)"] }
你可以使用reduce。方法请参考苹果官方文件
代码:
你应该先尝试一些东西。请提供你的任何代码,这样我们可以看到在哪里可以帮助指导你。一个简单的for循环将完成这项工作。你有多少个项目,多少个字母,你可以迭代。您可以使用dropLast创建子字符串。。。你试过什么吗?我试过这个:让username=Julius//1 var name=//2 var I:Int!=0而我!=username.count{i+=1//获取字符串1的第n个字符//将字符添加到字符串2//添加到数组}Arraystr是不必要的。你们可以直接对str中的char进行处理。String已经和序列一致了。我已经反复测试了这个答案,它是正确的。有人能解释一下为什么我的答案标错了吗?或者,如果它被标记为错误,请更正它。
let usernameAsArray = "julius".reduce([]) { $0 + [($0.last ?? "") + "\($1)"] }
"Julius".reduce([]) { $0 + [($0.last ?? "") + "\($1)"] }