[Ruby] 改行コードで文字列連結
配列を改行コードでjoinすると、改行コードがエスケープされてしまっている😱
words = ['今日は', '台風で', '風が強い']
words.join('\n')
↑のように書くと、改行コードがエスケープされて以下のような結果に。。。
=> "今日は\\n台風で\\n風が強い"
解決策
リテラルの特殊文字を使うときは、シングルクオーテーションではなく、ダブルクオーテーションで囲む。
なので、セパレート文字はダブルクオーテーションで囲むように修正するとエスケープされなくなった🎉
words.join("\n")
=> "今日は\n台風で\n風が強い"
おまけ
連結するときに、配列内の空文字要素を除外したいときはreject(&:blank?)を使う
words.reject(&:blank?).join("\n")
この記事が気に入ったらサポートをしてみませんか?