You need to enable JavaScript to run this app. 如何用JavaScript正则仅删除双引号内换行符且不影响其他换行
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript正则仅删除双引号内换行符且不影响其他换行

解决方案:JavaScript删除双引号内部换行符

直接使用以下代码即可实现仅移除双引号内的换行,其余位置换行完全保留:

// rawStr 为待处理的原始字符串
const processedStr = rawStr.replace(/"([^"]*)"/g, (match, innerContent) => {
  // 仅处理双引号内部的内容,删除换行及换行后跟随的缩进空白
  return `"${innerContent.replace(/\n\s*/g, '')}"`
})

上述代码处理你给出的输入示例后,可直接得到预期输出,不会误删双引号外的换行。

实现逻辑

  • 外层正则/"([^"]*)"/g全局匹配所有成对的普通双引号包裹的内容,范围精准,不会触碰双引号外的任何字符
  • 内层仅针对匹配到的双引号内部内容做替换,删除所有换行符、以及换行后紧跟的空白字符,完全符合转换要求

转义引号适配

如果你的内容中存在转义双引号\",将外层正则替换为/"(\\.|[^"])*"/g即可避免匹配截断问题:

const processedStr = rawStr.replace(/"(\\.|[^"])*"/g, (match) => {
  return match.replace(/\n\s*/g, '')
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 02:42:03