python:转换到上部并查找字符串

2024-06-16 08:23:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我被困在这条线上:

row[1].upper().find('CELEBREX',1)(返回-1

它似乎找不到西乐葆,即使它在那里

row[1] = 'celebrex, TRAMADOL'

我是不是投错了?在


Tags: findupperrow条线tramadolcelebrex
3条回答

find()的第二个参数不应该是1,因为它将在字符串的第一个字符之后开始搜索。在

>>> s = 'celebrex, TRAMADOL'
>>> print s.upper().find('CELEBREX')
0

Find()将返回0,因为它在字符串的第一个位置0找到了第一个匹配项。因此需要注意的是,正如您已经发现的那样,if find()没有找到字符串,它将返回-1。返回值0实际上是匹配的。在

您将从第二个字母1开始搜索,即e:

row=("",'celebrex, TRAMADOL')
print row[1].upper().find('CELEBREX',1)
print row[1][1:]
"""Output:
-1
elebrex, TRAMADOL
"""

upper()看起来不错,但find不好。您希望在字符串的开头(而不是偏移量)进行查找。在

row[1].upper().find('CELEBREX')

相关问题 更多 >