识别HTML格式标题并自动生成MarkDown目录Python程序

"""自己编写的识别HTML格式标题并自动生成目录的程序"""
import re

# 正文内容放在这里
Test_text = r"""
"""

# 获取标题格式<hx XX>x.x xx</hx>,支持多行(re.MULTILINE)
get_title_pattern = re.compile(r'\<h.*?\>.*?\</h\d\>', re.MULTILINE)

# 找到全部符合标题格式的字符串,也就是标题语句
get_title_result = get_title_pattern.findall(Test_text)

# 准备去掉头尾
del_edge_result = ''

# 将标题语句列表整合到一个字符串中
if get_title_result:
  for title_outturn in get_title_result:
    del_edge_result += title_outturn

  # 获取头尾格式 <hx XX> 和 </hx>
  get_head_pattern = re.compile(r'\<h.*?\>',re.MULTILINE)
  get_end_pattern = re.compile(r'\<\/h\d\>',re.MULTILINE)

  # 将开头替换为'[',末尾替换为'](#)|'
  del_head_result = get_head_pattern.sub('[', del_edge_result)
  del_end_result2 = get_end_pattern.sub('](#)|', del_head_result)

  # 分割模式:以竖线 | 分割
  split_pattern = re.compile(r'\|')

  # 使用split函数分割
  split_result = split_pattern.split(del_end_result2)

  # 将分割内容前添加'* '输出
  for catalog_outturn in split_result:
    find_dot = ''
    # 按照标题等级为*前添加空格
    for i in range(len(catalog_outturn)):
      if catalog_outturn[i] != ' ':
        find_dot += catalog_outturn[i]
      else:
        dot_count = find_dot.count('.')
        if catalog_outturn[i-1] == '.':
          dot_count -=1
        break
    if catalog_outturn:
      print(' '*(dot_count-1)*2+'* '+catalog_outturn)
else:
  print("未找到标题语句!")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HIT-Zxy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值