Swift string to array of single character strings [duplicate] - arrays

This question already has answers here:
Convert Swift string to array
(14 answers)
Closed 4 years ago.
How can I convert a string into an array of single strings? So String -> [String]
If I do Array(myString) it results in an array of characters. I tried flatmap (or compactMap in the latest Xcode beta):
stringArray = Array(myString).flatMap { $0 as? String }
Then I get a warning: "Cast from 'Character' to unrelated type 'String' always fails" and `print(stringArray) results in [].
Is this possible?
Edit: this was already answered in a non-accepted answer in this question: Convert Swift string to array

You can do it like as follows... Initialize a new string inside the map.
let test = "thisIsATest"
let array = test.map( { String($0) })

Related

Ruby: Compare if array contains other array [duplicate]

This question already has answers here:
How to determine if one array contains all elements of another array
(8 answers)
Closed 4 years ago.
how can i compare if an array of strings contains a smaller array of strings in Ruby?
e.g.
a=["1","2","3","4","5"]
b=["2","3"]
now i want to check if a contains b and get true/false
Thanks.
The most common approach would be to
(b - a).empty?
It has issues with unique elements, though. To detect whether a includes all elements from b, one should:
a_copy = a.dup
b.all? { |e| a_copy.delete e }
# or
b.all?(&a_copy.method(:delete))

Index out of range in multidimensional array in Swift [duplicate]

This question already has answers here:
Swift 3 2d array of Int
(2 answers)
Closed 5 years ago.
var tri = [[Int]]();
tri[0][0] = 321;
This code causes this error:
fatal error: Index out of range
What's wrong?
You're accessing the first element of the first subarray of the array. But your array doesn't contain any subarrays, so it crashes.

How to convert a swift string to an array? [duplicate]

This question already has answers here:
Swift 3.0 iterate over String.Index range
(10 answers)
Convert Swift string to array
(14 answers)
Closed 5 years ago.
Would it be possible to loop through each character in the string, and then place each character into an array?
I'm new to swift, and I'm trying to figure this out. Could someone write a code for this?
It's really simple:
let str = "My String"
let letters = str.characters.map({String($0)})
print(letters)

Convert an array of Ints to a comma separated string [duplicate]

This question already has answers here:
How do I convert a Swift Array to a String?
(25 answers)
Closed 5 years ago.
I know that if I want to convert an array of Ints to a String, I do this:
[0,1,1,0].map{"\($0)"}.reduce(""){$0+$1}
but I cannot figure out how would I convert an array of Ints to a comma separated String
Well you can do it like :
let formattedArray = ([0,1,1,0].map{String($0)}.joined(separator: ",")

split a string to an array (each character) - Swift [duplicate]

This question already has answers here:
Convert Swift string to array
(14 answers)
Closed 6 years ago.
I've got a little problem. I want to split a String in an array of characters, where I can work on each character.
For example:
"Hello"
arrayofstring[0] ->H
arrayofstring[1] ->e
arrayofstring[2] ->l
arrayofstring[3] ->l
arrayofstring[4] ->o
I am thankful for every help.
Unless I'm missing something, it's easier than either of the other answers:
let arrayofstring = Array("Hello".characters)
Do something like this:
let string : String = "Hello"
let arrayofstring = string.characters.map { (Character) -> Character in
return Character
}
println(arrayofstring)

Resources