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

如何用GREP在InDesign文档中替换数字间的连字符为短破折号?

批量替换数字间连字符为短破折号的解决方案

不用手动一个个改,用带零宽断言的GREP就能精准只选中数字中间的连字符,或者用捕获组兜底,两种方法都能搞定:

方法一:零宽断言精准匹配(推荐)

直接用这个查找表达式,只会选中数字之间的连字符,完全不碰前后数字:

(?<=[0-9])-(?=[0-9])
  • 拆解下逻辑:
    • (?<=[0-9]):确认连字符前面是数字,但不把这个数字选进匹配结果
    • -:就是你要替换的那个连字符
    • (?=[0-9]):确认连字符后面是数字,同样不选这个数字
      替换的时候直接输入短破折号–就行,替换后前后数字会原封不动保留。

方法二:捕获组兜底(兼容老工具)

如果你的排版工具不支持零宽断言,就用捕获组把前后数字存起来,替换的时候再放回去:

  • 查找表达式:
([0-9])-([0-9])
  • 替换内容:
$1–$2

这里$1会调用第一个括号里捕获的前面数字,$2调用后面的数字,中间换成短破折号,效果和第一种一样。

两种方法都能一次性替换所有符合要求的连字符,字母中间的连字符完全不会被碰,上千条参考文献几分钟就能搞定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 07:40:34