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

如何在上传服务器前限制字符串的多空格与多换行?

同时清理字符串中的多余空格与换行

需求说明

上传字符串至服务器前需完成两类格式调整:

  • 移除每行开头的空白字符,将行内连续多个空格替换为单个空格
  • 将连续的多行换行(含换行间夹杂的空白)压缩为仅两个换行

示例

输入:

i am    a   text
with

little



to no


meaning    asdas

期望输出:

i am a text
with

little

to no

meaning asdas

解决方案

通过链式调用正则替换即可实现需求,先处理行内空格问题,再压缩多余换行:

const formattedStr = str
  // 清理行首空白与行内多空格
  .replace(/^[^\S\n]+|[^\S\n]+(?=[^\S\n])/gm, '')
  // 压缩多余换行
  .replace(/\n\s*\n/g, '\n\n');

正则说明

  1. 行内空格清理:/^[^\S\n]+|[^\S\n]+(?=[^\S\n])/gm

    • ^[^\S\n]+:匹配每行开头的非换行空白字符(空格、制表符等),替换为空以去除缩进
    • [^\S\n]+(?=[^\S\n]):匹配连续空白中的冗余部分,通过正向预查只保留单个空格
    • gm:全局+多行模式,确保每行开头都能被正确匹配
  2. 换行压缩:/\n\s*\n/g

    • 匹配两个换行之间的任意空白字符(包括空格、制表符、额外换行),替换为两个换行,实现连续换行的压缩

内容的提问来源于stack exchange,提问作者Niclas Göransson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 13:30:10