2015-06-28 18 views
0

Python新手在這裏,我試圖搜索一個視頻API,由於某種原因,它不允許我搜索某些視頻標題在視頻標題如:|允許多個子字符串搜索和替換的string.replace()方法的替代方法

目前,我有一個調用由標題的視頻API庫和搜索功能,它看起來像這樣的字符:

def videoNameExists(vidName): 
    vidName = vidName.encode("utf-8") 
    bugFixVidName = vidName.replace(":", "") 
    search_url ='http://cdn-api.ooyala.com/v2/syndications/49882e719/feed?pcode=1xeGMxOt7GBjZPp2'.format(bugFixVidName) #this URL is altered to protect privacy for this post 

是否有.replace替代()(或使用它的方式,我錯過了),這將讓我同時搜索多個子字符串?

回答

3

看一看Python re module,特別是方法re.sub()

下面是一個例子爲你的情況:

import re 

def videoNameExists(vidName): 
    vidName = vidName.encode("utf-8") 
    # bugFixVidName = vidName.replace(":", "") 
    bugFixVidName = re.sub(r'[:|]', "", vidName) 
    search_url ='http://cdn-api.ooyala.com/v2/syndications/49882e719/feed?pcode=1xeGMxOt7GBjZPp2'.format(bugFixVidName) #this URL is altered to protect privacy for this post 
+0

感謝很多的例子!你能分解'(r'[:|]',「,vidName)中的'r'嗎?我在閱讀文檔時指出:「除非存在'r'或'R'前綴,否則字符串中的轉義序列根據類似於標準C所使用的規則進行解釋 - 是我們爲什麼需要'r'的原因? – AdjunctProfessorFalcon

+0

在這種情況下,'r'並不是必須的,因爲沒有字符需要轉義,但是通常它的使用簡化了用於編寫正則表達式的字符串的使用。看看[這個問題](http://stackoverflow.com/questions/2241600/python-regex-r-prefix),在我看來[第二個答案](http://stackoverflow.com/a/2241641/504273)有一個很好的實例。 – Matt

+0

非常感謝,感謝迴應! – AdjunctProfessorFalcon