a='1234;5'
print a.index('s')
ошибка:
> "D:\Python25\pythonw.exe" "D:\zjm_code\kml\a.py"
Traceback (most recent call last):
File "D:\zjm_code\kml\a.py", line 4, in <module>
print a.index('s')
ValueError: substring not found
спасибо
a='1234;5'
print a.index('s')
ошибка:
> "D:\Python25\pythonw.exe" "D:\zjm_code\kml\a.py"
Traceback (most recent call last):
File "D:\zjm_code\kml\a.py", line 4, in <module>
print a.index('s')
ValueError: substring not found
спасибо
Попробуйте вместо этого использовать find()
- это скажет вам, где он находится в строке:
a = '1234;5'
index = a.find('s')
if index == -1:
print "Not found."
else:
print "Found at index", index
Если вы просто хотите знать, есть ли строка там, вы можете использовать in
:
>>> print 's' in a
False
>>> print 's' not in a
True
print ('s' in a) # False
print ('1234' in a) # True
Используйте find
, если вам нужен и индекс, но не хотите, чтобы возникло исключение.
print a.find('s') # -1
print a.find('1234') # 0
вы можете использовать оператор in
, если вы просто хотите проверить, находится ли подстрока в строке.
if "s" in mystring:
print "do something"
в противном случае вы можете использовать find()
и проверить значение -1 (не найдено) или используя index()
str.find()
и str.index()
почти идентичны. самое большое различие заключается в том, что, когда строка не найдена, str.index()
выдает ошибку, как тот, который у вас есть, а str.find()
возвращает -1, поскольку другие отправили.
существует два сестра-метода, называемых str.rfind()
и str.rindex()
, которые запускают поиск с конца строки и прокладывают путь к началу.
Кроме того, как уже показали другие, операторы in
(а также not in
) также являются действительными.
Наконец, если вы пытаетесь искать шаблоны в строках, вы можете рассмотреть регулярные выражения, хотя я думаю, что слишком много людей используют их, когда они переполнены. в других (известных) словах: теперь у вас есть две проблемы.
что это касается всей информации, которую я имею сейчас. однако, если вы изучаете Python и/или программирование обучения, одно очень полезное упражнение, которое я даю своим ученикам, заключается в том, чтобы попытаться построить *find()
и *index()
в коде Python самостоятельно или даже in
и not in
(хотя как функции). вы получите хорошую практику, проходящую через строки, и у вас будет лучшее понимание того, как работают существующие методы строк.
Удачи!
Это правильный способ проверить, присутствует ли подстрока в строке или нет.
def sea (str, str1):
if(str1[0:] in str):
return "yes"
else:
return "no"
print(sea("sahil","ah"))