2017-03-16 95 views
0

例如'「Hello Word」=「hello world」;','「Hello = Word」=「Hello = Word」',找到「=」由python定位。 我試試這個python在字符串中找到「=」索引的中間部分

>>>line = '"Hello=Word" = "Hello=Word"' 
>>>index = line.index("=") 
>>> index 
6 

我希望它回到13

+0

第一個'='在位置6 ... –

+2

究竟是什麼邏輯?你想要第二次出現''=''?中間的那個?如果是這樣,如果偶數?或者,也許你想找到第一個不包含在引號中的?有十幾種方法可以做到這一點,但問題是哪一個最適合。 –

+0

請看看這個http://stackoverflow.com/questions/11122291/python-find-char-in-string-can-i-get-all-indexes – MaxLunar

回答

1

可能的情況下,使用正則表達式。

import re 
re.search(r'^".*".*(=).*".*"$', line).start(1) 

這是假定該字符串指定的形式,與上=兩側的雙引號"分隔字符串的。

1

實際上,您還可以通過enumerate(line)查看所有出現的字符串=。它會返回一個enumerate對象,該對象是可迭代的幷包含格式爲(索引,項目)的元組。所以,可以這樣使用:

>>> occurrences = [x[0] for x in enumerate(line) if x[1] == '='] 
>>> occurrences 
[6, 13, 21] 

現在你應該選擇你需要的索引。