あのぞんブログ

js で文字列の先頭のn 行を削除する

2020-10-05

コード 1

Array#slice を使う方法です。

const removeHeads = (s, n) => s.split('\n').slice(n).join('\n')
const removeHeads = (s, n) => s.split('\n').slice(n).join('\n')

removeHeads(text, 1)
// 'line2\nline3\nline4'
removeHeads(text, 2)
// 'line3\nline4'
removeHeads(text, 3)
// 'line4'
removeHeads(text, 4)
// ''
removeHeads(text, 5)
// ''

コード 2

コード 1 でいいですが最初に思いついた正規表現で削る方法です。 動作が早いかわからないですが (渡される n が行数より大きいときに使えません。) 遅かったです。Repl.it - regex-vs-slice

const removeHeads = (s, n) => s.replace(new RegExp(".*\n".repeat(n))

anozon JavaScript とアニメ好き Web エンジニア。Twitter

© 2020 あのぞんびより All Rights Reserved