一、index、find和rfind方法查找字串所在位置

S.find(substr, [start, [end]]):返回S中出现substr的第一个字母的标号,如果S中没有substr则返回-1。start和end作用就相当于在S[start:end]中搜索

S.index(substr, [start, [end]]):与find()相同,只是在S中没有substr时,会返回一个运行时错误

S.rfind(substr, [start, [end]]):返回S中最后出现的substr的第一个字母的标号,如果S中没有substr则返回-1,也就是说从右边算起的第一次出现的substr的首字母标号

find和rfind如果有结果将返回大于等于0的结果,无结果则返回-1;另外index方法也可以返回子字符串的位置,但是如果找不到会抛出异常

>>> str

'python String Function Strcat'

>>> str.find("on") #默认返回整个字符串中第一次出现"on"的下标。

4

>>> str.find("on",0,10) #在[0:10]之间查找第一次出现"on"的子串。

4

>>> str.find("on",13,) #在[13:]之间查找第一次出现"on"的子串

20

>>> str.rfind("on") #默认返回整个字符串中最后出现"on"的下标。

20

>>> str.rfind("on",0,10) #在[0:10]之间查找最后出现"on"的子串。

4

>>> str.rfind("on",13,) #在[13:]之间查找最后出现"on"的子串的下标。

20

>>> str.index("on")

4

>>> str.index("on",0,10)

4

>>> str.index("on",13,)

20

>>> str.index("Q") #index在找不到时会返回一个异常

Traceback (most recent call last):

File "", line 1, in

ValueError: substring not found

>>> str.find("Q")

-1

>>> str.rfind("Q")

-1

二、从字符串中截取子字符串

python 中没有substr或者substring的方法,但是可以通过数组slice的方法,方便的截取子字符串

>>> str

'python string functionstrcat'

>>> str[0:3] #截取第一位到第三位的字符

'pyt'

>>> str[:] #截取字符串的全部字符

'python string functionstrcat'

>>> str[6:] #截取第七个字符到结尾

' string functionstrcat'

>>> str[:-3] #截取从头开始到倒数第三个字符之前

'python string functionstr'

>>> str[2] #截取第三个字符

't'

>>> str[-1] #截取倒数第一个字符

't'

>>> str[::-1] #创造一个与原字符串顺序相反的字符串

'tacrtsnoitcnuf gnirts nohtyp'

>>> str[-3:-1] #截取倒数第三位与倒数第一位之前的字符

'ca'

>>> str[-3:] #截取倒数第三位到结尾

'cat'

>>> str[:-5:-3]

'tr'

三、判断字符串是否包含某个字串

>>> str

'python string functionstrcat'

>>> "python" in str

True

四、 获得字符串的长度

在python中获得任何集合的长度都可以使用len方法

>>> str

'python string functionstrcat'

>>> len(str)

28

>>> str.__len__()

28

五、python的字符串大小写转换

>>> str ="python String Function Strcat"

>>> str

'python String Function Strcat'

>>> str.upper() #全部转换为大写

'PYTHON STRING FUNCTION STRCAT'

>>> str.lower() #全部转换为小写

'python string function strcat'

>>> str.capitalize() #首字符转为大写其余为小写

'Python string function strcat'

>>>

>>> str = 'abc iop*ifew ndsfa.hfakshe=23ke//efha9023nksafn'

>>> str.title()

'Abc Iop*Ifew Ndsfa.Hfakshe=23Ke//Efha9023Nksafn'

>>>

六、count查看子字符串出现的次数

>>> str

'python String Function Strcat'

>>> str.count("python")

1

>>> str.count("n")

4

>>> str.count("n",0,10) #在[0:10]之间统计“n”出现的次数

1

>>>

七、字符串中的替换:

S.replace(oldstr, newstr, [count]):把S中的oldstr替换为newstr,count为替换次数,默认全部替换。这是替换的通用形式,还有一些函数进行特殊字符的替换

S.strip([chars]):把S中前后chars中有的字符全部去掉,可以理解为把S前后chars替换为None

S.lstrip([chars]):把S中前chars中有的字符全部去掉,可以理解为把S前后chars替换为None

S.rstrip([chars]):把S中后chars中有的字符全部去掉,可以理解为把S前后chars替换为None

S.expandtabs([tabsize]):把S中的tab字符替换为空格,每个tab替换为tabsize个空格,默认是8个

举例:

>>> str

'python String Function Strcat'

>>> str.replace("python","PYTHON")

'PYTHON String Function Strcat'

>>> str.replace("on","ON",1)

'pythON String Function Strcat'

>>> str.replace("on","ON",2)

'pythON String FunctiON Strcat'

>>> str="python string function python"

>>> str.strip("python")

' string function '

>>> str.lstrip("python")

' string function python'

>>> str.rstrip("python")

'python string function '

>>>

>>> str = 'abc def opq'

>>> str

'abc\tdef\t\topq'

>>> new_str=str.expandtabs()

>>> new_str

'abc def opq'

>>> new_str=str.expandtabs(1)

>>> new_str

'abc def opq'

八、字符串的分割和组合:

S.split([sep, [maxsplit]]):以sep为分隔符,把S分成一个list。maxsplit表示分割的次数,取前maxsplit次。默认的分割符为空白字符

S.rsplit([sep, [maxsplit]]):以sep为分隔符,把S分成一个list。maxsplit表示分割的次数,取后maxsplit次。默认的分割符为空白字符

S.splitlines([keepends]):把S按照行分割符分为一个list,keepends是一个bool值,如果为真每行后而会保留行分割符。

S.join(seq):把seq代表的序列──字符串序列,用S连接起来

字符串的mapping,这一功能包含两个函数:

String.maketrans(from, to):返回一个256个字符组成的翻译表,其中from中的字符被一一对应地转换成to,所以from和to必须是等长的。

S.translate(table[,deletechars]):使用上面的函数产后的翻译表,把S进行翻译,并把deletechars中有的字符删掉。需要注意的是,如果S为unicode字符串,那么就不支持 deletechars参数,可以使用把某个字符翻译为None的方式实现相同的功能。此外还可以使用codecs模块的功能来创建更加功能强大的翻译表。

举例:

>>> str

'python string function python'

>>> str.split("on")

['pyth', ' string functi', ' pyth', '']

>>> str.split()

['python', 'string', 'function', 'python']

>>> str.split("on",2) #只分割两次,取前面两个“on”作为分隔符

['pyth', ' string functi', ' python']

>>> str.rsplit("on")

['pyth', ' string functi', ' pyth', '']

>>> str.rsplit()

['python', 'string', 'function', 'python']

>>> str.rsplit("on",2) #只分割两次,取后面两个“on”作为分隔符

['python string functi', ' pyth', '']

>>> str="""aaaaaaaaaaaaaaaaa

... bbbbbbbbbbbbbbbbb

... ccccccccccccccccccccc"""

>>> str

'aaaaaaaaaaaaaaaaa\nbbbbbbbbbbbbbbbbb\nc\nccccccccccccccccccccc'

>>> str.splitlines() #以换行符为分割,成为列表。str.split('\n')

['aaaaaaaaaaaaaaaaa', 'bbbbbbbbbbbbbbbbb', 'ccccccccccccccccccccc']

>>> str.splitlines(0)

['aaaaaaaaaaaaaaaaa', 'bbbbbbbbbbbbbbbbb', 'ccccccccccccccccccccc']

>>> str.splitlines(1) #保留分隔符

['aaaaaaaaaaaaaaaaa\n', 'bbbbbbbbbbbbbbbbb\n', 'ccccccccccccccccccccc']

>>> list_1

['aaa', 'bbb', 'ccc']

>>> str="*"

>>> str.join(list_1)

'aaa*bbb*ccc'

>>> "".join(list_1)

'aaabbbccc'

九、其他的一些判断函数

s.isalnum():所有字符都是数字或者字母

s.isalpha():所有字符都是字母

s.isdigit():所有字符都是数字

s.islower():所有字符都是小写

s.isupper():所有字符都是大写

s.istitle():所有单词都是首字母大写,像标题

s.isspace():所有字符都是空白字符、\t、\n

s.upper():把所有字符中的小写字母转换成大写字母

s.lower():把所有字符中的大写字母转换成小写字母

s.capitalize():把第一个字母转化为大写字母,其余小写

s.title():把每个单词的第一个字母转化为大写,其余小写

python substr_Python字符串的方法相关推荐

  1. Python 3 字符串 format( ) 方法

    Python 3 字符串 format( ) 方法 Python 3.8.5 语法格式: str.format(*args, **kwargs) 描述: 执行字符串格式化操作. Python 2.6 ...

  2. Python 3 字符串 maketrans( ) 方法

    Python 3 字符串 maketrans( ) 方法 Python 3.8.5 语法格式: static str.maketrans(x[, y[, z]]) 描述: 此静态方法返回一个可供 st ...

  3. Python 3 字符串 encode( ) 方法

    Python 3 字符串 encode( ) 方法 Python 3.8.5 语法格式: str.encode(encoding= 'UTF-8', errors= 'strict') 描述: enc ...

  4. Python 3 字符串 center( ) 方法

    Python 3 字符串 center( ) 方法 Python 3.8.5 语法格式: str.center(width[, fillchar]) ​描述: 返回一个指定宽度(width)和填充字符 ...

  5. Python 3 字符串 strip( ) 方法

    Python 3 字符串 strip( ) 方法 Python 3.8.5 语法格式: str.strip([chars]) 描述: 移除字符串首尾指定的字符或字符序列,默认为空格. 移除规则:最外侧 ...

  6. Python 3 字符串 ljust( ) 方法

    Python 3 字符串 ljust( ) 方法 Python 3.8.5 语法格式: str.ljust(width[, fillchar]) 描述: 返回宽度为 width 的字符串,原字符串在其 ...

  7. python的字符串一些方法

    python的字符串一些方法 python的字符串内建函数 字符串方法是从python1.6到2.0慢慢加进来的--它们也被加到了Jython中. 这些方法实现了string模块的大部分方法,如下表所 ...

  8. Python 3 字符串 rstrip( ) 方法(转载)

    Python 3 字符串 rstrip( ) 方法 Python 3.8.5 语法格式: str.rstrip([chars]) 描述: 移除字符串尾部的空格或指定字符串. 移除规则:尾部的字符的移除 ...

  9. python反转字符串(简单方法)及简单的文件操作示例

    Python反转字符串的最简单方法是用切片: >>> a='123456' >>> print a[::-1] 654321 切片介绍:切片操作符中的第一个数(冒号 ...

最新文章

  1. YoutubeNet的数据答疑
  2. 福利 | 给你个机会与俞士纶(Philip S. Yu)面对面交流 !(附俞教授论文合集资源)...
  3. matlab 注意事项
  4. Linux 命令 sudo 用法及配置解析
  5. FFTW、Eigen库在VisualStudio中的导入和使用
  6. winform在表格中输入一个完整的时间字段_B端交互组件之表格篇
  7. java开发环境及数据类型实验_实验项目1 Java开发环境与语言基础
  8. python cmdb_Django之入门 CMDB系统 (一) 基础环境
  9. pytorch torchvision.transforms.CenterCrop
  10. 遥感影像处理——遥感影像处理全流程
  11. 微信扫码点餐帮助商家赚钱的方法
  12. 米游社-原神每日签到含DS算法
  13. C# Socket通讯连接测试
  14. 74HC573并联输出
  15. 切换IE浏览器的版本
  16. 依分布收敛、依概率收敛、均方收敛、几乎处处收敛
  17. iOS及Android消息推送方案安装使用入门
  18. Linux下安装及配置Discuz论坛
  19. java+上传整个文件夹的所有文件
  20. 程序员外包工作3年,跳槽却没人要,网友:你也太老实了吧

热门文章

  1. 海外权威媒体好评连连,一加5T中国11月28号发布
  2. cubemx实现CAN通讯
  3. 电脑卡怎么办?4招帮你解决电脑卡顿的烦恼!
  4. 最新系统[防黑屏版]BT及双网盘下载(ZZ)
  5. 金额数字转换(小写转大写)
  6. 选择华为账号第三方登录,让你无法拒绝的3个理由
  7. python飞机大战设计思路_python飞机大战pygame游戏背景设计详解
  8. 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(一起消消毒)
  9. c/c++ 洛谷 P1003 【NOIP2011 提高组】 铺地毯
  10. python特征数据类型及常用操作对比总结_如何全面解析数据并创造数据故事