Python字符串中包含的粗体搜索文本

Python字符串中包含的粗体搜索文本,python,text,substring,Python,Text,Substring,示例 如果用户搜索“car”,我希望输出如下 今天就找到你最喜欢的汽车,接下来两天的特卖 请注意,car是粗体的。谷歌做到了: 在Python中执行此操作的最佳方法是什么?粗体显示在HTML中。>>The_string=“新车、二手车、汽车评论、汽车金融建议-Cars.com” >>> the_string = "New Cars, Used Cars, Car Reviews, Car Finance Advice - Cars.com" >>> re.s

示例 如果用户搜索“car”,我希望输出如下

今天就找到你最喜欢的汽车,接下来两天的特卖

请注意,car是粗体的。谷歌做到了:

在Python中执行此操作的最佳方法是什么?粗体显示在HTML中。

>>The_string=“新车、二手车、汽车评论、汽车金融建议-Cars.com”
>>> the_string = "New Cars, Used Cars, Car Reviews, Car Finance Advice - Cars.com"
>>> re.sub(r'(car)', r'<b>\1</b>', the_string, flags=re.I)
'New <b>Car</b>s, Used <b>Car</b>s, <b>Car</b> Reviews, <b>Car</b> Finance Advice - <b>Car</b>s.com'
>>>re.sub(r'(car'),r'\1',_字符串,flags=re.I) “新车、二手车、汽车评论、汽车金融建议-Cars.com”

然而,要准确地计算出什么应该算作“car”的实例有点棘手;这将使“卡通”等。您可以尝试
\b(汽车?)\b
获取此特定短语;通常,您可能希望使用。

字符串替换方法非常易于使用,并替换搜索词的所有实例:

s = 'New Cars, Used Cars, Other Cars'
s2 = s.replace('Cars', '<b>Cars</b>')
s='新车、二手车、其他车'
s2=s.更换(“汽车”、“汽车”)
如果要保留原来的大写/小写字母,请使用re模块:

import re
s3 = re.sub(r'(CARS)', r'<b>\1</b>', s, flags=re.IGNORECASE)
重新导入
s3=re.sub(r'(汽车),r'\1',s,标志=re.IGNORECASE)
>>导入re
>>>_string=“新车、二手车、汽车评论、汽车金融建议-Cars.com”
>>>单词=‘汽车’
>>>toreplace=“\g”
>>>pattern=re.compile(re.escape(word),re.I)
>>>突出显示的\u txt=re.sub(模式、替换、字符串)
>>>突出显示的文本
新车、二手车、汽车评论、汽车金融建议-Cars.com
>>>
>>> import re
>>> the_string = "New Cars, Used Cars, Car Reviews, Car Finance Advice - Cars.com"
>>> word = 'cars'
>>> toreplace = "<span class='highlight' STYLE='color:black'>\g<0></span>"
>>> pattern = re.compile(re.escape(word), re.I)
>>> highlighted_txt = re.sub(pattern,toreplace,the_string)
>>> highlighted_txt
 "New <span class='highlight' STYLE='color:black'>Cars</span>, Used <span class='highlight' STYLE='color:black'>Cars</span>, Car Reviews, Car Finance Advice - <span class='highlight' STYLE='color:black'>Cars</span>.com"
>>>