You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何保留字符串最后一个换行符并移除其余所有换行符?

这里有两种简单的实现方式,满足你“保留最后一个换行、让手机号单独成行”的需求:

方法1:正则表达式替换

利用正向预查匹配除最后一个之外的所有换行,将它们替换为空格:

const originalStr = `Robert Robertson,
1234 NW Bobcat Lane,
St. Robert,
(555) 555-1234`;

const processedStr = originalStr.replace(/(\r\n|\n|\r)(?=.*(\r\n|\n|\r))/gm, ' ');
console.log(processedStr);

正则说明:(?=.*(\r\n|\n|\r))是正向预查,确保当前匹配的换行后面还存在至少一个换行,这样就只会替换前几个换行,最后一个换行被保留。

方法2:字符串分割+拼接

如果觉得正则不好理解,直接拆分字符串再重组更直观:

const originalStr = `Robert Robertson,
1234 NW Bobcat Lane,
St. Robert,
(555) 555-1234`;

// 按所有换行符拆分出每一行
const lines = originalStr.split(/\r\n|\n|\r/);
// 前几行用空格连接,再和最后一行用换行拼接
const processedStr = lines.slice(0, -1).join(' ') + '\n' + lines.at(-1);
console.log(processedStr);

这种方式逻辑清晰,不需要记住复杂正则,适合处理结构固定的字符串。

两种方法运行后都能得到你想要的输出:

Robert Robertson, 1234 NW Bobcat Lane, St. Robert,
(555) 555-1234

内容的提问来源于stack exchange,提问作者user9138698

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 11:36:01