the gray fox
一個字符串,我想圍繞這個詞gray
與琴絃<b>
和</b>
。什麼是在Python中執行此操作的最有效(和首選)方式?
(背景:我建立與搜索功能的應用程序,我想強調的匹配由用戶輸入的文本,搜索結果的文本)
爲感謝幫助與親切的問候, 託德
the gray fox
一個字符串,我想圍繞這個詞gray
與琴絃<b>
和</b>
。什麼是在Python中執行此操作的最有效(和首選)方式?
(背景:我建立與搜索功能的應用程序,我想強調的匹配由用戶輸入的文本,搜索結果的文本)
爲感謝幫助與親切的問候, 託德
如果你只需要用一個字來做到這一點,使用str.replace
:
sentence = "the gray fox"
new = sentence.replace('gray', '<b>gray</b>')
print(new) # the <b>gray</b> fox
如果你需要一個以上的話要做到這一點,使用re.sub
:
from re import sub
sentence = "the gray fox"
new = sub('(gray)', r'<b>\1</b>', sentence)
print(new) # the <b>gray</b> fox
謝謝Christian,'re.sub'方法是我正在尋找的方法,它工作得很好!我能否問一下你是否可以推薦一個學習正則表達式的地方? (我必須承認我沒有完全理解你的答案)。我觀看了關於正則表達式的[PyCon談話](https://www.youtube.com/watch?v=abrcJ9MpF60),但沒有涉及到這一點,我需要了解更多 – sunyata
Sure @sunyata,謝謝你的提問。當然,沒有一個地方會教你所有有關正則表達式的東西,但是一個很好的起點是[_Regular Expression HOWTO_](https://docs.python.org/3.6/howto/regex.html#regular -expression-howto)文章。另一個學習如何使用正則表達式的好工具是[Debuggex](https://www.debuggex.com/)。它可以讓你直觀地看到你的正則表達式如何匹配你的輸入文本。快樂學習:) –
我不知道究竟你問什麼,但在Python字符串連接是最容易與加運算來完成:
>>> str1 = "the "
>>> str2 = "gray"
>>> str3 = " fox"
>>> interp1 = "<b>"
>>> interp2 = "</b>"
>>> str1+interp1+str2+str3
'the <b>gray</b> fox'
我認爲這不是你的答案正確的問題... –
那麼OP已經有一個構造字符串的情況呢?例如:''灰狐狸''?你假設OP可以從頭開始構建字符串,但情況可能並非如此。 –
'的「灰狐」 .replace(「灰色」 ,'灰色')' –
或通常'text.replace(searchstring,''+ searchstring +'')' –