gpt4 book ai didi

python - 动态条件格式化文本 - 如果单词在列表中

转载 作者:行者123 更新时间:2023-12-01 00:57:50 24 4
gpt4 key购买 nike

我有一个 Flask 应用程序,它返回带有动态生成文本的模板。我想根据也是动态生成的列表变量将文本变量中的特定单词加粗。

假设我的两个变量如下

text = "Stephen went to the park on Tuesday with Sarah.
Stephen couldn't go to my birthday party."

list=['Stephen', 'Sarah', 'Tuesday']

所需的 html 输出:斯蒂芬星期二莎拉去了公园。 斯蒂芬无法参加我的生日聚会。

我对如何解决这样的问题感到困惑,任何帮助或指导将不胜感激。

编辑:Python代码

return render_template('results.html', ctext=boldened_text)

HTML代码

<h6>Your Text was</h6>
<div class="alert alert-info" role="alert"><p>{{ctext}}</p></div>

最佳答案

为了更好地控制,我建议使用 for 循环(在本例中简化为列表理解):

text = "Stephen went to the park on Tuesday with Sarah. Stephen couldn't go to my birthday party."

filter_list = ['Stephen', 'Sarah', 'Tuesday']

boldened = " ".join(["<b>{}</b>".format(word) if word.strip() in filter_list else word for word in text.split(" ")])

要查看此输出的用途:

print(boldened)

预期输出:

"<b>Stephen</b> went to the park on <b>Tuesday</b> with Sarah. <b>Stephen</b> couldn't go to my birthday party."

注意:请记住,在 Python 中 list是一种类型,请勿将其用作变量的标识符。

此外,您还将获得 <b>标签打印为纯文本,因为您没有渲染 ctext变量为 HTML,请改为这样写:

{{ ctext | safe }}

警告:仅使用safe使用您绝对确定实际上安全的字符串!

祝你好运。

关于python - 动态条件格式化文本 - 如果单词在列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56101705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com