概要 Ruby on Railsで開発しているときに、複数行ある文字列の行頭行末の空白を削除したいときがありました。 しかし、正規表現メタ文字の^と$にマッチさせるやり方ではうまくいかず、正規表現の先読み・後読みを使う必要がありました。 今回は、同じような悩みを抱えている人向けに、Rubyで行頭行末の空白を削除する方法をお伝えします。 この記事で伝えたいこと Rubyにおける、一般的な行頭行末の空白を削除する方法の問題点 改行コードの種類によって生まれてしまう、行頭行末の空白を削除したときの挙動の違い 改行コードの種類に影響されずに、行頭行末の空白を削除する方法 結論 改行コードの種類に影響されずに行頭行末の空白を削除するためには、^と$を使うだけではなく、以下のように正規表現の先読み・後読みも使う必要があります。 # 行頭の空白を削除 .gsub(/(^|(?<=\n|\r|\n\r))