Javascript 从字符串中删除最后一行

Javascript 从字符串中删除最后一行,javascript,jquery,Javascript,Jquery,如果我不知道字符串有多大,如何从字符串中删除最后一行“\n” var tempHTML = content.document.body.innerHTML; var HTMLWithoutLastLine = RemoveLastLine(tempHTML); function RemoveLastLine(tempHTML) { // code } 尝试: 您可以使用正则表达式(根据“最后一行”的含义进行调整): 在您的特定情况下,该函数实际上可能如下所示: function(s)

如果我不知道字符串有多大,如何从字符串中删除最后一行“\n”

var tempHTML = content.document.body.innerHTML;
var HTMLWithoutLastLine = RemoveLastLine(tempHTML);

function RemoveLastLine(tempHTML)
{
   // code
} 
尝试:


您可以使用正则表达式(根据“最后一行”的含义进行调整):


在您的特定情况下,该函数实际上可能如下所示:

function(s){
  return i = s.lastIndexOf("\n")
    , s.substring(0, i)
}
虽然你可能也不想在结尾留空格;在这种情况下,简单的替换可能会很好地工作:

s.replace(/s+$/, '')
但是请记住,新版本的Javascript(ES6+)提供了通过内置原型函数(,)实现这一点的速记方法


干杯

正则表达式可以做到这一点。这是最简单的一个:

string.replace(/\n.*$/, '')

\n
匹配字符串中的最后一个换行符

*
匹配零次和无限次之间的任何字符(行终止符除外)。因此,无论最后一行是否有内容,这都是有效的


$
匹配字符串的结尾

最后一行是什么??在最后一个新行或最后一个

之后,它是常数还是可以变化?假设字符串中有\n,则为string.substring(0,string.lastIndexOf(“\n”);也许会是你想要的want@insertusernamehere是的,需要删除最后\n行或新行之后的所有内容。如果
x
包含一行内容,则此操作不起作用(根据具体需要可能不是问题)。@JulienRoyer您是对的。我更新了我的答案。顺便说一句,你的答案是+1。注意,这个答案你需要绝对确定后面确实有一个空格,否则你将删除文本的最后一行。
s.replace(/s+$/, '')
s.trimRight()
string.replace(/\n.*$/, '')