51 lines
2.1 KiB
Python
51 lines
2.1 KiB
Python
import re
|
|
with open(r'D:\Code\Python\followlist\source\output\reports\up_analysis_full_auto.md', 'r', encoding='utf-8') as f:
|
|
content = f.read()
|
|
# Pattern: Remove any bullet lines between '## N. xxx' section header and the next '### ' section
|
|
# Match: '## N.' followed by any content (not starting with '- '), then multiple ' - ' lines, then stop at '### '
|
|
# Use a pattern that captures from '## ' to the next '### '
|
|
# More specifically: match the block from '## N.' until the next '### ' that is NOT '### 最近10条标题'
|
|
# and remove any lines starting with ' - ' in between
|
|
lines = content.split('\n')
|
|
new_lines = []
|
|
i = 0
|
|
while i < len(lines):
|
|
line = lines[i]
|
|
new_lines.append(line)
|
|
|
|
# If we just added a section header '## N.'
|
|
if line.startswith('## '):
|
|
i += 1
|
|
# Skip lines until we hit either '### 最近10条标题' or another section marker
|
|
while i < len(lines):
|
|
curr = lines[i]
|
|
if curr.startswith('## '):
|
|
break
|
|
if curr.startswith('### '):
|
|
if '最近10条标题' in curr:
|
|
# Skip this title section and its bullets
|
|
i += 1 # skip '### 最近10条标题'
|
|
while i < len(lines) and lines[i].startswith(' - '):
|
|
i += 1
|
|
continue
|
|
else:
|
|
# This is another section like ### AI分析 - keep it
|
|
break
|
|
# Skip lines that are just basic info (主页, 标签, mid)
|
|
if curr.startswith('- ') and not curr.startswith(' - '):
|
|
i += 1
|
|
continue
|
|
# Skip actual bullet lines (the orphaned ones)
|
|
if curr.startswith(' - '):
|
|
i += 1
|
|
continue
|
|
new_lines.append(curr)
|
|
i += 1
|
|
else:
|
|
i += 1
|
|
result = '\n'.join(new_lines)
|
|
# Clean multiple blank lines
|
|
result = re.sub(r'\n{3,}', '\n\n', result)
|
|
with open(r'D:\Code\Python\followlist\source\output\reports\up_analysis_full_auto.md', 'w', encoding='utf-8') as f:
|
|
f.write(result)
|
|
print('Done') |