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

如何使用正则表达式删除每行最后一个字符?

解决正则删除每行最后一个字符的问题

你用.$没生效的核心原因是正则默认的匹配模式:默认情况下$只会匹配整个文本的末尾,而不是每行的结尾。只要开启多行模式,让$匹配每行的结束位置,这个表达式就能正常工作。

具体实现方案

不管你用什么工具(Python、VS Code、Notepad++等),核心思路一致:

  • 正则表达式:.$(或者(.)$,效果完全一致)
  • 替换内容:留空(即删除匹配到的字符)
  • 必须开启多行模式(不同工具的设置方式略有区别)

常用场景示例:

  1. Python代码实现
import re

input_content = """helmut_rankl:20Suzuki12
helmut1195:wasserfall1974
helmut1951:roller11"""

# 用re.M开启多行模式,替换每行最后一个字符
result = re.sub(r'.$', '', input_content, flags=re.M)
print(result)
  1. VS Code/Notepad++等编辑器操作
  • 打开查找替换功能,勾选「正则表达式」选项
  • 查找框输入:.$
  • 替换框留空
  • VS Code需额外勾选「多行」选项,Notepad++默认支持多行模式的正则匹配
  • 点击「全部替换」即可得到目标结果

关于.$匹配字母/数字的疑问

.在正则里本来就匹配任意单个字符(除了换行符),字母、数字、符号都能匹配。之前没成功完全是因为$没匹配到每行结尾,和.本身的匹配能力无关。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 12:39:23