2013-05-02 58 views
1

下面的代碼允許用戶輸入的任何&|^分離電影的兩個名字:python - 如何知道什麼是用於分割字符串?

query = raw_input("Enter your query:") 
movie_f = re.split('&|\^|\|', query)[0].strip() 
movie_s = re.split('&|\^|\|', query)[1].strip() 

我想知道什麼re已經用字符串(&|^)分開。我怎樣才能做到這一點?

+0

你爲什麼想知道*? – jamylak 2013-05-02 11:31:38

+0

@jamylak例如,如果它是'&'我想要返回在兩部電影中播放的演員。如果它是'^'我想要返回所有演員從這兩部電影等 – Tom 2013-05-02 11:33:03

+0

我沒有看到任何問題在這裏。您將在第二項作爲分隔符的列表中顯示結果。 'sep = re.split(r'(&|^| \ |)',query)[1]' 將條件作爲你的願望 – JunkMechanic 2013-05-02 11:42:53

回答

3

如果您將正則表達式分組,它將返回它爲每個第二項分割的項目。

>>> query 
'&foo^bar' 
>>> re.split(r'(&|\^|)', query) 
['', '&', 'foo', '^', 'bar'] 
+0

'r'代表什麼? – Tom 2013-05-02 11:35:36

+0

@Tom它意味着原始字符串,你應該使用正則表達式,因爲一些符號,例如。 '\\'沒有它們會被錯誤解釋。 – jamylak 2013-05-02 11:36:27