Вы можете использовать регулярное выражение (настраиваться в зависимости от того, что вы подразумеваете под "последней строкой" ):
return x.replace(/\r?\n?[^\r\n]*$/, "");
Ответ 3
В вашем конкретном случае функция действительно может выглядеть так:
function(s){
return i = s.lastIndexOf("\n")
, s.substring(0, i)
}
Хотя, вероятно, вы также не хотите иметь пробелы в конце; в этом случае простая замена может работать хорошо:
s.replace(/s+$/, '')
Помните, однако, что новые версии Javascript (ES6 +) предлагают сокращенные способы выполнения этого со встроенными функциями прототипа (trim, trimLeft, trimRight)
s.trimRight()
Ура!
Ответ 4
Регулярное выражение сделает это. Здесь самый простой:
\n соответствует последнему разрыву строки в строке
.* соответствует любому символу, от нуля до неограниченного времени (кроме терминаторов строк). Таким образом, это работает независимо от того, есть ли контент в последней строке