如何用脚本批量将文本中不同形式的TEXAS统一替换为Tx?
用Python脚本统一修改HTML表格中的州名格式
以下是直接可用的解决方案:
步骤1:安装依赖库
先执行命令安装处理HTML的工具库:
pip install beautifulsoup4 lxml
步骤2:编写执行脚本
from bs4 import BeautifulSoup import re # 替换成你的原始HTML内容,也可以从文件读取 original_html = """ <div class="s-table-container"> <table class="s-table"> <thead> <tr> <th>First</th> </tr> </thead> <tbody> <tr> <td>FirstPlace TEXAS</td> </tr> <tr> <td>SecondPlace Texas</td> </tr> <tr> <td>ThirdPlace, Tx</td> </tr> </tbody> </table> </div> """ # 解析HTML结构 soup = BeautifulSoup(original_html, 'lxml') # 遍历表格tbody里的所有单元格 for td in soup.select('tbody td'): # 用正则匹配并替换末尾的州名,统一格式为", Tx" cleaned_content = re.sub(r'\s*(?:,?\s*)?(TEXAS|Texas|Tx)$', ', Tx', td.get_text(strip=True)) td.string = cleaned_content # 输出修改后的HTML,如需保存到文件可改用open()写入 print(soup.prettify())
脚本说明
- 用
BeautifulSoup解析HTML,比直接写正则处理HTML结构更可靠,避免标签嵌套导致的错误 - 正则表达式
r'\s*(?:,?\s*)?(TEXAS|Texas|Tx)$'会精准匹配单元格末尾的所有州名变体,包括带逗号/不带逗号、大小写不同的情况,统一替换为, Tx格式
内容的提问来源于stack exchange,提问作者Antonio
相关产品推荐
相关产品推荐

