如何删除字符串结尾处的换行符? [英] How to remove the line break at the end of a string?

查看:850
本文介绍了如何删除字符串结尾处的换行符?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何删除字符串末尾的换行符?我可以使用RegEx或string.indexOf().

How do I remove a line break at the end of a string? I can use RegEx or string.indexOf().

到目前为止,我无法使用:

What I have so far doesn't work:

var message = "first paragraph.\n\nNext paragraph.\n";
var trimMessage = message.lastIndexOf("\n")==0 ? message.substring(0, message.length-2) : message;

推荐答案

正则表达式进行救援:

var trimMessage = message.replace(/\n$/, '');

$表示输入结束".

示例:

var message = "first paragraph.\n\nNext paragraph.\n";
var trimMessage = message.replace(/\n$/, '');
var pre = document.createElement('pre');
pre.innerHTML =
  "Message:\n***" + message + "**\n\ntrimMessage = ***\n" + trimMessage + "***";
document.body.appendChild(pre);

您在示例中对-2的使用使我认为您可能正在处理\r\n换行符,或者有时是\n有时是\r\n.或者,如果您想回到过去,只需\r(旧的Mac OS,在BSD分支之前).要处理其中的所有 ,您可以使用字符类和+表示一个或多个":

Your use of -2 in your example makes me think you may be dealing with \r\n linebreaks, or possibly sometimes \n and sometimes \r\n. Or if you're going back in time, just \r (old Mac OS, before the BSD fork). To handle all of those, you can use a character class and + meaning "one or more":

var trimMessage = message.replace(/[\r\n]+$/, '');

这篇关于如何删除字符串结尾处的换行符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆