Spaces:
Sleeping
Sleeping
| import re | |
| def extract_points(markdown_text: str) -> list[str]: | |
| """ | |
| Extracts numbered/bulleted markdown points as clean strings. | |
| Removes: | |
| - markdown bold/italic/code formatting | |
| - numbering/bullets | |
| - extra spaces/newlines | |
| """ | |
| lines = markdown_text.splitlines() | |
| points = [] | |
| for line in lines: | |
| line = line.strip() | |
| if not line: | |
| continue | |
| # Match numbered or bulleted list items | |
| if re.match(r"^(\d+\.\s+|[-*]\s+)", line): | |
| # Remove numbering/bullets | |
| line = re.sub(r"^(\d+\.\s+|[-*]\s+)", "", line) | |
| # Remove markdown formatting | |
| line = re.sub(r"\*\*(.*?)\*\*", r"\1", line) # bold | |
| line = re.sub(r"\*(.*?)\*", r"\1", line) # italic | |
| line = re.sub(r"`(.*?)`", r"\1", line) # inline code | |
| points.append(line.strip()) | |
| return points |