nakasyou
nakasyou
GitHubTwitterElement
← Back
Published: 2023-3-29

\r\nとか大嫌い☆

Windows環境で、ブログを書きました。そしたらエラー。 Markdown yaml headerのパースがうまくいってないみたいでした。自作パーサーです。 そこまでは掴めたものの、なぜパースできないかに、1時間ほど費やしてしまいました。 原因は、改行コードでした。もともとLinux環境で開発していたので、Windowsの改行である、\r\nでエラーを吐いていました。

具体的には、

text.split("\n")[0]==="---"

のような形でMarkdown yaml headerの存在を確認していたのですが、text.split("\n")[0]の値が---\rになってしまい、エラーになっていたようです。

text=text.replaceAll("\r\n","\n")

を処理の前に入れることで、解決しました。

まとめ

みなさんも、行単位でなにかを処理するときにエラーが出たら、改行コードのことを気にしてみてください。 私みたいなことが起こらないように。

© 2023 nakasyou. All rights reserved. CC BY 4.0 LICENSE.