我有一個非空格字符之間的2,3或多個空格的字符串我怎樣才能用一個空格從整個字符串
string = "a b c d"
我能做些什麼,使之像取代連續的空格:
output_string == "a b c d"
我有一個非空格字符之間的2,3或多個空格的字符串我怎樣才能用一個空格從整個字符串
string = "a b c d"
我能做些什麼,使之像取代連續的空格:
output_string == "a b c d"
最簡單的方式將使用正則表達式:
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"
我開始寫答案,但你是第一個:) – asiniy
Regex.replace(〜R/\ S + /,「一BCD 「」「)
我不知道爲什麼這是downvoted;它確實有效。 –
另一種可能性是String#split
和Enum#join
:
iex(1)> "a b c d" |> String.split(~r{\s+}) |> Enum.join(" ")
#⇒ "a b c d"
對於它的價值,你甚至不需要正則表達式:
iex(3)> "a b c d" |> String.split |> Enum.join(" ")
#=>"a b c d"
而且剛剛從我的一點冒煙測試,它看起來像這將適用於任何空白分隔符(我。即它可以在空格和製表符上工作,據我所知)。
你可能想要改變你的問題的標題。你不會刪除_trailing_空格。您正在刪除字符串中的空格。 –