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

如何在Python中移除HTML文件的所有前导空白字符

移除HTML文本中每行前导空白字符的Python方案

你遇到的这个问题确实很常见——直接处理文本时,不同文件的缩进差异会让字符串匹配变得异常麻烦。不用慌,我们可以用Python的正则表达式来精准移除每行的前导空白,同时保留代码内部的空格,不会破坏代码结构。

具体实现步骤

  • 读取文件内容:先把HTML文件的内容按行读取或者一次性读入内存。
  • 正则替换前导空白:使用re.sub()函数,针对每行开头的空白字符(包括空格和制表符)进行替换。

示例代码

import re

# 读取HTML文件内容
with open('your_page.html', 'r', encoding='utf-8') as f:
    content = f.read()

# 统一换行符(避免不同系统换行格式干扰)
content = content.replace('\r\n', '\n')

# 移除每行的前导空白字符(空格、制表符都覆盖)
processed_content = re.sub(r'^\s+', '', content, flags=re.MULTILINE)

# 现在就可以执行你需要的字符串替换了
processed_content = processed_content.replace('</script>\n</body>', 'alert(1);\n</script>\n</body>')

# 将处理后的内容写回文件
with open('modified_page.html', 'w', encoding='utf-8') as f:
    f.write(processed_content)

关键细节说明

  • r'^\s+':这个正则表达式匹配每行开头的一个或多个空白字符(\s包含空格、制表符等所有空白类型)。
  • flags=re.MULTILINE:这个参数让^匹配每行的开头,而不是整个字符串的开头,确保所有行的前导空白都被处理。
  • 先统一换行符是为了避免不同系统(Windows/Linux)的换行格式差异,让后续的replace操作更稳定。

这样处理后,既统一了文本格式,又不会破坏代码内部的空格结构(比如var config = {里的空格会完整保留),完美解决你的匹配难题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:46:38