例如'“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