如何去除MD文件每行首尾空白字符同时保留原有空行?
解决方案
场景1:实现你给出的预期输出(移除多余空行、行首行尾多余空白)
使用如下代码处理即可:
markdown = ''' ## This is a headline [1] This is the first paragraph [2] This is the second paragraph a. This is the third paragraph; b. This is the fourth paragraph.''' processed_lines = [] for line in markdown.split('\n'): stripped_line = line.strip() # 过滤全空白行 if stripped_line: processed_lines.append(stripped_line) # 按段落间隔拼接内容 clean_markdown = '\n\n'.join(processed_lines) with open("output.md", "w") as f_out: f_out.write(clean_markdown)
运行后生成的output.md和你要求的预期效果完全一致。
场景2:需要保留行尾2个空格(适配Markdown软换行语法)
如果你的内容用行尾两个空格表示<br>标签,不需要清理行尾空格,仅移除行首空白即可,单行代码就能实现:
clean_markdown = '\n'.join(line.lstrip() for line in markdown.split('\n'))
如果需要同时把仅含空白的行转为标准空行,可以调整为:
clean_markdown = '\n'.join(line.lstrip() if line.strip() else '' for line in markdown.split('\n'))
内容的提问来源于stack exchange,提问作者quadratecode
相关产品推荐
相关产品推荐

