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

如何用sed正则表达式替换依赖相邻字符的单个字符(无前瞻)?

用sed去除单词间误加的单个点

我在补全点字符时,第一列单词之间被误添加了单个点,需要用sed和正则表达式去除这些点,但sed不支持前瞻语法,不知道如何匹配依赖相邻字符的单个点。目标转换如下:

原始文本:This.is.my.action ............. done
目标文本:This is my action ............. done

解决方案

可以利用sed的分组捕获与反向引用,精准匹配字母与字母之间的单个点,将其替换为空格,不会影响后面连续的补全点。执行以下命令即可:

sed 's/\([a-zA-Z]\)\.\([a-zA-Z]\)/\1 \2/g' 文件名

命令解释

  • \([a-zA-Z]\):捕获点前后的英文字母(支持大小写),分别保存为第1、第2分组
  • \.:匹配需要替换的单个点(转义后才会匹配字面意义的点,否则是通配符)
  • \1 \2:将匹配到的内容替换为「第1分组字母 + 空格 + 第2分组字母」
  • g:全局替换标记,确保一行中所有符合条件的点都会被处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 11:52:39