[英]How to exactly match a word and then replace in Python?
有一個包含字符串等的列表,如下所示
strpool = ['fruit,apple:3', '', '[1,abcd, ['fruit,apple'], ['1,kdlld', apple,taste]]']
想要准確地搜索單詞“apple”並替換為“apple:3”
我試過下面的代碼,
print str(strpool).replace("apple","apple:3") print (re.sub(r"\\bapple\\b","apple:3",str(strpool)))
但它甚至將 apple:3 替換為 apple:3:3 ,而不僅僅是字符串 apple。
更新:如何在沒有附加任何其他組件的情況下完全匹配字符串名稱並在列表中替換所有這些組件?
嘗試過 re.sub 但需要將列表轉換為字符串,還有其他方法嗎?
使用否定前瞻來匹配一個單詞,除非它后面跟有:
。
print(re.sub(r'\bapple\b(?!:)', 'apple:3', str(strpool))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.