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 +'')' –