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

JavaScript如何修剪字符串同时保留换行与回车字符?

仅移除字符串首尾空格、保留换行/回车的实现方法

针对你给出的字符串示例:

let str = "  \rA string with carriage returns\n   ";

JavaScript内置的trim()会移除所有首尾空白字符(包括空格、换行、回车等),如果只想移除首尾的普通空格,同时保留\r、\n这类字符,可以用以下两种方法:

方法一:正则表达式替换

使用精准匹配首尾普通空格的正则,替换为空字符串:

const trimOnlySpaces = str => str.replace(/^ +| +$/g, '');

// 测试
trimOnlySpaces(str); // 返回 "\rA string with carriage returns\n"

解释:^ +匹配字符串开头的一个或多个普通空格, +$匹配字符串结尾的一个或多个普通空格,g标志确保全局替换。

方法二:手动遍历截取

通过遍历找到首尾第一个非空格的位置,再截取子串:

const trimOnlySpaces = str => {
  let start = 0;
  // 从开头找第一个非空格的位置
  while (start < str.length && str[start] === ' ') {
    start++;
  }
  let end = str.length - 1;
  // 从结尾找最后一个非空格的位置
  while (end >= 0 && str[end] === ' ') {
    end--;
  }
  // 处理全是空格的边界情况
  return start > end ? '' : str.substring(start, end + 1);
};

// 测试
trimOnlySpaces(str); // 返回 "\rA string with carriage returns\n"

这种方法不依赖正则,逻辑更直观,适合需要精确控制处理逻辑的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 19:34:55