例如'「Hello Word」=「hello world」;','「Hello = Word」=「Hello = Word」',找到「=」由python定位。 我試試這個python在字符串中找到「=」索引的中間部分
>>>line = '"Hello=Word" = "Hello=Word"'
>>>index = line.index("=")
>>> index
6
我希望它回到13
例如'「Hello Word」=「hello world」;','「Hello = Word」=「Hello = Word」',找到「=」由python定位。 我試試這個python在字符串中找到「=」索引的中間部分
>>>line = '"Hello=Word" = "Hello=Word"'
>>>index = line.index("=")
>>> index
6
我希望它回到13
可能的情況下,使用正則表達式。
import re
re.search(r'^".*".*(=).*".*"$', line).start(1)
這是假定該字符串指定的形式,與上=
兩側的雙引號"
分隔字符串的。
實際上,您還可以通過enumerate(line)
查看所有出現的字符串=
。它會返回一個enumerate
對象,該對象是可迭代的幷包含格式爲(索引,項目)的元組。所以,可以這樣使用:
>>> occurrences = [x[0] for x in enumerate(line) if x[1] == '=']
>>> occurrences
[6, 13, 21]
現在你應該選擇你需要的索引。
第一個'='在位置6 ... –
究竟是什麼邏輯?你想要第二次出現''=''?中間的那個?如果是這樣,如果偶數?或者,也許你想找到第一個不包含在引號中的?有十幾種方法可以做到這一點,但問題是哪一個最適合。 –
請看看這個http://stackoverflow.com/questions/11122291/python-find-char-in-string-can-i-get-all-indexes – MaxLunar