-1

検索エンジンのテキストの一部を太字にしたい... 主要なエンジンは Python です.. q (クエリ用) という名前の var に検索用語があります... この例では、検索用語が " BlOg" 検索結果を計算し、大文字と小文字を区別せずに "BlOg" のすべての出現箇所を置き換えたいと考えています。これにより、すべての "blog" と "BLOG" と "BLog" などを同じテキストに置き換えますが、<b>タグでラップされます...

例えば:

Search term: "BlOg"<br>
result 1 before: "CS Blog"<br>
after: "CS &lt;b&gt;Blog&lt;b>

result 2 before: "Stacker blog" [notice the "blog" is lowercase]<br> 
after: "Stacker &lt;b&gt;blog&lt;b>

大文字と小文字を変更していないことに注意してください。<b>タグで囲っただけです。

4

1 に答える 1

0

試す :

import re
bolded = bolded = re.sub(r"(?i)(%s)" % query, r"<b>\1</b>", content)

サンプル :

>>> import re
>>> content = "fox iN a blog"
>>> query = "in"
>>> bolded = re.sub(r"(?i)(%s)" % query, r"<b>\1</b>", content)
>>> bolded
'fox <b>in</b> a blog'

IGNORECASEフラグを渡すsub機能が 2.7 で追加されたので、(?i)大文字と小文字を区別しないように正規表現パターンの前に追加しました。

于 2013-04-30T10:27:44.407 に答える