|
|
|
@ -59,14 +59,24 @@ def add_formatted_text(paragraph, text):
|
|
|
|
|
paragraph: Word 段落对象
|
|
|
|
|
text (str): 需要添加的文本
|
|
|
|
|
"""
|
|
|
|
|
# 使用正则表达式匹配加粗语法(**xx**)
|
|
|
|
|
parts = re.split(r"(\*\*.*?\*\*)", text)
|
|
|
|
|
# 使用正则表达式匹配加粗语法(**xx** 或 xx** 或 **xx)
|
|
|
|
|
parts = re.split(r"(\*\*[^*]+\*\*|\*\*[^*]+|[^*]+\*\*)", text)
|
|
|
|
|
for part in parts:
|
|
|
|
|
if part.startswith("**") and part.endswith("**"):
|
|
|
|
|
# 去掉 ** 并设置为加粗
|
|
|
|
|
bold_text = part[2:-2]
|
|
|
|
|
run = paragraph.add_run(bold_text)
|
|
|
|
|
run.bold = True
|
|
|
|
|
elif part.startswith("**"):
|
|
|
|
|
# 去掉开头的 ** 并设置为加粗
|
|
|
|
|
bold_text = part[2:]
|
|
|
|
|
run = paragraph.add_run(bold_text)
|
|
|
|
|
run.bold = True
|
|
|
|
|
elif part.endswith("**"):
|
|
|
|
|
# 去掉结尾的 ** 并设置为加粗
|
|
|
|
|
bold_text = part[:-2]
|
|
|
|
|
run = paragraph.add_run(bold_text)
|
|
|
|
|
run.bold = True
|
|
|
|
|
else:
|
|
|
|
|
# 普通文本
|
|
|
|
|
paragraph.add_run(part)
|