cdnjsjsDeliverunpkgSelf hosted

カメリアの記事

意味があることやないことを綴ります

文書末の空行を削除する

言い換えると「 EOF の改行を削除する」になります。下のようにすると、どうにもスマートじゃない気がするのですが、例えばグローバルサーチの match(/.*$/) で最後にヒットした部分の位置を数えて削除するというのもスマートでありません。

let w = src
.split("")
.reverse()
.join("")
.replace(/(\n\r?)+/, "")
.split("")
.reverse()
.join("")

CL+LF の改行記号 \r\n の順番も reverse() で逆になるところがミソでしょうか。 [\r\n]+ と書いてしまっても問題ない気はするのですが、このあたりプロの判断だとどうなるんだろう。