I have a string with 2,3 or more spaces between non-space characters
string = "a b c d"
What can I do to make it like that:
output_string == "a b c d"
The simplest way would be using Regular Expressions:
iex(1)> string = "a b c d"
"a b c d"
iex(2)> String.replace(string, ~r/ +/, " ") # replace only consecutive space characters
"a b c d"
iex(3)> String.replace(string, ~r/\s+/, " ") # replace any consecutive whitespace
"a b c d"
For what it's worth, you don't even need the regex:
iex(3)> "a b c d" |> String.split |> Enum.join(" ")
#=>"a b c d"
Also just from my very little bit of smoke testing, it looks like this will work with any whitespace separators (i. e. it works on spaces and tabs as far as I can tell).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With