如何在Python中获得angular色的位置?
我怎样才能获得一个字符在Python中的位置?
有两个string方法, find和index 。 
例:
 >>> myString = "Position of a character" >>> myString.index('s') 2 
 不同之处在于find没有find你要找的东西就返回-1 。  index抛出exception。 
函数
str.find(sub[, start[, end]])
返回findsubstring子string的最低索引,使得sub包含在[start, end]范围内。 可选参数开始和结束被解释为切片符号。 如果未find子项,则返回-1。
和:
函数
str.index(sub[, start[, end]])
和find(),但是当找不到子string时会raise ValueError。
只是为了完整性,如果您需要在string中查找子string的所有位置,则可以执行以下操作:
 s = 'shak#spea#e' c = '#' print [pos for pos, char in enumerate(s) if char == c] 
 这将返回[4, 9] 
 >>> s="mystring" >>> s.index("r") 4 >>> s.find("r") 4 
“啰嗦”的方式
 >>> for i,c in enumerate(s): ... if "r"==c: print i ... 4 
得到子串,
 >>> s="mystring" >>> s[4:10] 'ring' 
 当string包含重复字符时会发生什么? 从我的经验与index()我看到重复你回来相同的指数。 
例如:
 s = 'abccde' for c in s: print('%s, %d' % (c, s.index(c))) 
会返回:
 a, 0 b, 1 c, 2 c, 2 d, 4 
在这种情况下,你可以做这样的事情:
 for i, character in enumerate(my_string): # i is the position of the character in the string 
 string.find(character) string.index(character) 
也许你想看一下文档来找出两者之间的区别。
只是为了完成,如果我想在文件名中find扩展名来检查它,我需要find最后的'。',在这种情况下使用rfind:
 path = 'toto.titi.tata..xls' path.find('.') 4 path.rfind('.') 15