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

在replace()中使用正则表达式拼接文本中被拆分的跨行单词

问题原因

你最初使用的text.replace(/[\n-]/g, "")不符合预期,是因为[]是正则字符集语法,会全局匹配所有-和所有换行符,不会区分-是否处于单词截断的行尾位置,会误删文本中其他正常使用的-和不需要合并的普通换行。

正确实现方案

你需要精准匹配「行尾连字符+可选空白+换行」的特征,JavaScript 代码如下:

const mergedText = text.replace(/-[ \t]*\n/g, '')

如果是其他编程语言,正则匹配逻辑完全一致,仅调用替换方法的语法略有不同,比如Python写法为:

import re
merged_text = re.sub(r'-[ \t]*\n', '', text)

正则说明

  • -:匹配单词截断用的连字符
  • [ \t]*:匹配连字符后、换行前0个或多个空格、制表符,兼容你提到的换行前带空白的场景
  • \n:匹配提前统一处理后的换行符
  • g:全局匹配所有符合特征的片段

效果验证

对测试文本执行替换后可得到预期结果:

原文本片段替换后结果
interest-\ninginteresting
interest- \ninginteresting
完整示例today is an interest-\ning daytoday is an interesting day

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:42:03