python字符串查找函数的用法详解

yipeiwu_com5年前Python基础

python字符串查找函数的使用

打开Python开发工具IDLE,新建‘findstr.py'文件,并写代码如下:

s ='/ab/bx,.s'
print (s.find('/x'))

注意find是匹配子字符串,而不是匹配第一个字符

F5运行程序,打印出-1,代表没有找到‘/x'子字符串

修改代码如下,查找‘/b'子字符串

s ='/ab/bx,.s'
print (s.find('/b'))

F5运行程序,打印出3,代表‘/b'子字符串起始索引是3

find是从左到右查找,默认从起始位置0到最后,也可以赋值选择查找范围,

rfind是从右向左查找,修改代码如下:

s ='/ab/bx,.s'
print (s.find('/'))
print (s.rfind('/'))

F5运行程序,打印出左为起始位置的第一个‘/'的索引和右为起始位置的第一个‘/'的索引

还有一个查找子字符串位置的函数index,只不过在没有找到的情况下,不是返回-1而是抛出异常,修改代码如下:

s ='/ab/bx,.s'
print (s.index('/'))
print (s.index('/x'))

F5运行程序,打印信息如下图,查找到返回索引,没有查找到抛异常,同理

rindex也是从右向左查找

内容扩展

python查找字符串 函数find() 用法

sStr1 = 'abcdefg'
sStr2 = 'cde'
print sStr1.find(sStr2)

输出 2

意思是在sStr1字符里的第2位置找到了包含cde字符的字段

相关文章

python删除文本中行数标签的方法

python删除文本中行数标签的方法

问题描述: 我们在网上下载或者复制别人代码的时候经常会遇到下载的代码中包含行数标签的情况。如下图: 这些代码中包含着行数如1.,2.等,如果我们想直接运行或者copy代码需要自己手动的...

pandas 数据归一化以及行删除例程的方法

如下所示: #coding:utf8 import pandas as pd import numpy as np from pandas import Series,DataFra...

Django之创建引擎索引报错及解决详解

Django之创建引擎索引报错及解决详解

学习Django框架时,创建一个引擎及索引时报错,具体报错如下: 执行命令: python3 manage.py rebuild_index 报如下错误: ......(前面...

django-rest-swagger的优化使用方法

如下所示: requirements.txt django==1.10.5 djangorestframework==3.5.3 django-rest-swagger==2.1...

Django 使用easy_thumbnails压缩上传的图片方法

easy_thumbnails:A powerful, yet easy to implement thumbnailing application for Django 1.4+ 安...