Depending on whether your comma-separated string has whitespaces, you can do the following to convert it to an array in Ruby:
- Convert Comma-Separated String With No Spaces to an Array;
- Convert Comma-Separated String With Set Sequence of Repeating Spaces to an Array;
- Convert Comma-Separated String With Unknown Whitespaces to an Array.
Convert Comma-Separated String With No Spaces to an Array
You can convert a comma-separated Ruby string (which has no spaces) to an array by using the split
method, for example, like so:
"foo,bar,baz,qux".split(",") #=> ["foo", "bar", "baz", "qux"]
Convert Comma-Separated String With Set Sequence of Repeating Spaces to an Array
If the comma-separated string has a known number of spaces in a repeating sequence (e.g. ",
"), then you can simply specify it as the delimiter to the split
method, for example, like so:
"foo, bar, baz, qux".split(", ") #=> ["foo", "bar", "baz", "qux"]
Convert Comma-Separated String With Unknown Whitespaces to an Array
If your string has an unknown number of whitespaces before/after in any order/number, then you can use map
to iterate over each item in the resulting array (from split
) and use strip
to trim any whitespaces:
" foo , bar,baz, qux ".split(",").map { | item | item.strip } #=> ["foo", "bar", "baz", "qux"]
This also works as expected when there's a set sequence of repeating spaces in the string. For example:
"foo, bar, baz, qux".split(",").map { | item | item.strip } #=> ["foo", "bar", "baz", "qux"]
This post was published by Daniyal Hamid. Daniyal currently works as the Head of Engineering in Germany and has 20+ years of experience in software engineering, design and marketing. Please show your love and support by sharing this post.