Javascript:如果字符串以某些字符开头,则删除第一行文本

Javascript:如果字符串以某些字符开头,则删除第一行文本,javascript,Javascript,我为一些文本操作编写了一个脚本,并希望添加一个函数,以便在输入字符串的第一行以“>”符号开头时将其删除。我花了几个小时试图找到一个解决方案,但我无法让它工作:不知何故,第一行没有正确删除 我的输入文本应按原样处理,如果它看起来像这样: “habhhikkllmmnil” 如果第一行看起来像这样,则应将其删除: " " 我当前的解决方案如下所示: // remove first line if starts with '>' if (sequence_str.substring(0) =

我为一些文本操作编写了一个脚本,并希望添加一个函数,以便在输入字符串的第一行以“>”符号开头时将其删除。我花了几个小时试图找到一个解决方案,但我无法让它工作:不知何故,第一行没有正确删除

我的输入文本应按原样处理,如果它看起来像这样: “
habhhikkllmmnil
” 如果第一行看起来像这样,则应将其删除: "

"

我当前的解决方案如下所示:

// remove first line if starts with '>'


if (sequence_str.substring(0) === '>'){
    // break the textblock into an array of lines
    var lines = sequence_str.split('\n');
    // remove one line, starting at the first position
    lines.splice(0,1);
    // join the array back into a single string
    var sequence_str = lines.join('\n');
}

sequence_str = sequence_str.replace(/(\r\n|\n|\r)/gm,""); //remove linebreaks
如果有任何想法,我将不胜感激,我希望有人能帮助我找出问题所在

谢谢

为什么不仅仅是这个

sequence_str = sequence_str.replace(/^>.*/,'');
如果第一行以
>
开头,这将删除第一行。它将留下一个空行(换行符不受影响),但由于您稍后将剥离所有换行符,这并不重要。

试试这个

“直线=直线。拼接(0,1);”


与“lines.splice(0,1);”不同,非常感谢您,我非常喜欢您建议的简短代码

错误是我使用了

if (sequence_str.substring(0) === '>')
它应该在哪里

if (sequence_str.substring(0,1) === '>')
我是一名JavaScript初学者,来自Python角,请原谅我的愚蠢错误

编辑: 如果有人有兴趣了解最终产品的外观:

谢谢,听起来很合理。然而,我以前试过这个,但没有成功。现在,在我再试一次后,它就不起作用了。这真奇怪。编辑:我发现问题在于if条件,无论出于何种原因,它都无法识别“>”找到我的错误,请参见下面的我的答案(我创建了一个单独的答案,以便语法更易于阅读)您可以使用
charAt(0)
-我想这就是您混淆它的原因;)谢谢,这是一个更漂亮的解决方案!在python中,我是这样写的:如果字符串[0]==“>”:
if (sequence_str.substring(0,1) === '>')