这是一篇python基础知识分享型文章,对学习python感兴趣的朋友们可以仔细看看

字符串常用方法

Python3中,字符串全都用Unicode形式,所以省去了很多以前各种转换与声明的麻烦。字符串属于序列,所有序列可用的方法(比如切片等)都可用于字符串。

注意:字符串属于不可变序列,所有处理修改字符的方法,都会生成一个新字符串返回,原字符串不会变。

字符串方法简述举例或说明

字符串内容检查

s.isalpha()是否所有字符都为字母'abc'.isalpha() # 结果为 True

s.islower()字符串中字母是否都为小写(无视其中的非字母字符)'abc'.islower() # 结果为 True

s.isupper()字符串中字母是否都为大写(无视其中的非字母字符)'ABC'.isupper() # 结果为 True

s.isdecimal()是否所有字符都为数字0~9(小数点和正负号视作非数字)'123'.isdedimal() # 结果为 True

s.isdigit()是否所有字符都为:数字0~9、罗马数字(小数点和正负号视作非数字)'Ⅳ'.isdigit() # 结果为 True

s.isnumeric()是否所有字符都为:数字0~9、罗马数字、汉字数字(小数点和正负号视作非数字)'一百'.isnumeric() # 结果为 True

s.isalnum()是否所有字符都为字母或数字'abc123'.isalnum() # 结果为 True

s.isspace()是否所有字符都为空白' t '.isspace() # 结果为 True

s.isprintable()是否所有字符都可打印。'at'.isprintable() # 结果为 False

s.isascii()是否所有字符都为ascii码范围内字符'a1#'.isascii() # 结果为 True

s.istitle()是否字符串中每个单词首字母都为大写(若单词首字符为非字母字符,则判断第2个字符,以此类推)'Ab 2Cc'.istitle() # 结果为 True

s.isidentifier()字符串内容是否为Python保留字'if'.isidentifier() # 结果为 True

子串查找与判断

s.startswith(prefix [,start [,end]])检查字符串是否以prefix开头,start, end为查找范围(用法同切片)。'abc'.startswith('ab') # 结果为 True

s.endswith(suffix [,start [,end]])检查字符串是否以suffix结尾,start, end为查找范围(用法同切片)。'abc'.endswith('b') # 结果为 False

'abc'.endswith('b',0,2) # 结果为 True

s.find(sub [,start [,end]])查找指定字符串sub首次出现的位置,若没找到则返回-1。start, end为查找范围(用法同切片)。'abcabc'.find('bc') # 结果为 1

s.rfind(sub [,start [,end]])查找指定字符串sub最后一次出现的位置,若没找到则返回-1,start, end用法同上。'abcabc'.rfind('bc') # 结果为 4

s.index(sub [,start [,end]])功能同s.find(),区别是没找到时引发ValueError错误。'abcabc'.index('bc') # 结果为 1

s.rindex(sub [,start [,end]])功能同s.rfind(),区别是没找到时引发ValueError错误。'abcabc'.index('bc') # 结果为 4

s.count(sub [,start [,end]])统计指定子字符串sub出现的次数,start和end为查找范围(用法同切片)。'abc'.count('b',1,1) # 结果为 0

'abc'.count('b',1,2) # 结果为 1

字符串修改

s.lower()返回新字符串,内容为将原字符串中字母全转成小写(非字母字符则不变)'A1B2'.lower() # 返回为 'a1b2'

s.upper()返回新字符串,内容为将原字符串中字母全转成大写(非字母字符则不变)'a1b2'.upper() # 返回为 'A1B2'

s.swapcase()返回新字符串,内容为将原字符串中字母大小写互换(非字母字符则不变)'abCD'.swapcase() # 返回为 'ABcd'

s.capitalize()返回新字符串,内容为将原字符串中每个单词的首字母变为大写。'ab cd'.capitalize()

返回为 'Ab Cd;

s.expandtabs(tabsize=8)返回新字符串,内容用空格替换制表符,入参为tab对应的空格数。atb'.expandtabs(4)

返回为 'a b'

s.replace(old, new [,count])返回新字符串,内容为用new替换原字符串中old内容,count可指定替换次数(默认为全部替换)'abcdab'.replace('ab','xy')

返回为 'xycdxy'

字符串格式简单处理

s.strip([chars])返回新字符串,内容为删掉原字符串中两边的空白。若指定入参chars,则为删掉原字符串两端在入参chars中出现的字符。' abc '.strip() # 返回为 'abc'

'www.xyz.com'.strip('.cwom')

返回为 'xyz'

s.lstrip([chars])用法同上,不过仅处理字符串的左边。'www.xyz.com'.lstrip('.cwom')

返回为 'xyz.com'

s.rstrip([chars])用法同上,不过仅处理字符串的右边。'www.xyz.com'.rstrip('.cwom')

返回为 www.xyz'

s.center(width [,fillchar])返回新字符串,在长度为width的宽度内将原字符串居中,fillchar为填充单字符'abc'.center(9,'*')

返回为 'abc'

s.ljust(width [,fillchar])返回新字符串,在长度为width的宽度内将原字符串靠左对齐,fillchar为填充单字符'abc'.ljust(9,'*')

返回为 'abc******'

s.rjust(width [,fillchar])返回新字符串,在长度为width的宽度内将原字符串靠右对齐,fillchar为填充单字符'abc'.rjust(9,'*')

返回为 '******abc'

s.zfill(width)返回新字符串,在原字符串左边填充0,直至其宽度为width'abc'.zfill(9)

返回为 '000000abc'

s.translate(table)字符映射转换。使用一个转换表table,将字符串中的某个子串映射成另一个子串。转换table由下面的maketrans()方法生成。t=str.maketrans({'ab':'cd'})

'abc'.translate(t)

返回为 'cdc'

t2=str.maketrans('ab','xy')

'abc'.translate(t2)

返回为 'xyc'

t3=str.maketrans('ab','xy',c)

'abc'.translate(t3)

返回为 'xy'

s.maketrans(x [,y [,z]])静态方法。生成一个供上面translate()方法是用的转换表,其中原始子串和映射后子串必须长度相同。若只提供一个参数:x必须为一个字典,键名表示原始子串,值表示映射后子串。若提供2个参数:x表示原始子串,y表示映射后子串。若提供3个参数:x, y含义不变,z表示要删除的子串。

完整字符串格式化方法

s.format(**args, *kwargs)字符串格式化方法用法详见“字符串格式化”篇

s.format_map(mapping)Python3.2新增方法,可以直接使用字典作为输入参数进行字符串格式化。比较:format()与format_map()

'Hi {name}!'.format(name='Tom')

结果为 'Hi Tom!'

d={'name':'Tom'}

'Hi {name}!'.format_map(d)

结果为 'Hi Tom!'

字符串分割与拼接

s.split(sep=None, maxsplit=-1)将字符串以sep作为分隔符进行划分,将划分后的每个片段子串排成一个列表返回。maxsplit是划分的最大次数(默认-1为不设上限)。若在字符串中没找到指定分隔符,则将原字符串作为单一元素放入列表。'a,b,c'.split(',')

结果为 ['a','b','c']

s.rsplit(sep=None, maxsplit=-1)用法同上,只不过是从右边开始划分字符串,列表中内容的顺序仍旧为从左到右。详见右例。'a,b,c'.rsplit(',',maxsplit=1)

结果为 ['a,b','c']

'a,b,c'.rsplit(',')

结果仍为 ['a','b','c']

splitlines([keepends])将多行字符串按行进行分隔成列表,若参数keepends为True,则保留每行后的换行符。x="""a

b"""

x.splitlines()

结果为 ['a','b']

x.splitlines(True)

结果为 ['an','b']

s.partition(sep)用分隔符字符串sep划分字符串,返回一个元祖(head, sep, tail)。若没找到sep,则返回(s, "", "")'a;b;c'.partition(';')

结果为 ('a', ';', 'b;c')

s.rpartition(sep)用法同上,只不过是从右边开始划分字符串,详见右例。'a;b;c'.rpartition(';')

结果为 ('a;b', ';', 'c')

s.join(iter)用s作为分隔符,将iter中所有迭代对象拼接成一个字符串返回。';'.join('abc')

结果为 'a;b;c'

';'.join(['ab','cd'])

结果为 'ab;cd'

字符串编码

s.encoding(encoding="utf-8", errors="sctrict")返回字符串的编码后字节流版本,返回类型为bytes。默认为严格检错模式,只要在转换过程中发现错误,即引发UnicodeError错误。常用的encoding参数:

'ascii'、'utf-16'、'utf-32'、

'gb2312'(国标)、

'gbk' (gb2312的超集)

觉得文章还不错的话不妨收藏起来慢慢看,有任何建议或看法欢迎大家在评论区分享讨论!

成长离不开与优秀的伙伴共同学习,如果你需要好的学习环境,好的学习资源,项目教程,零基础学习,这里欢迎每一位热爱Python的小伙伴,点击:Python学习圈

python rfind函数用法_Python语法速查:字符串格式简单处理、子串查找与判断方法?...相关推荐

  1. python所有函数用法_python函数用法总结

    空函数 如果想定义一个什么事也不做的空函数,可以用pass语句: def nop(): pass pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码 ...

  2. python isalpha函数用法_python中string模块各属性以及函数的用法

    任何语言都离不开字符,那就会涉及对字符的操作,尤其是脚本语言更是频繁,不管是生产环境还是面试考验都要面对字符串的操作. python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求 ...

  3. python func函数用法_python之函数

    1.OOP 面向对象编程,万物皆对象,以class为主,抽象化 2.POP 面向过程变成,万事皆过程,def定义过程 3.函数式编程,将某种功能封装起来,用的时候直接调用函数名,def定义函数,也叫f ...

  4. python func函数用法_Python常见内置高效率函数用法示例

    本文实例讲述了Python常见内置高效率函数用法.分享给大家供大家参考,具体如下: 1.  filter(function,sequence) 将sequence中的每个元素,依次传进function ...

  5. python isnumeric函数用法_Python中isnumeric()方法的使用简介

    Python中isnumeric()方法的使用简介 更新时间:2015年05月19日 09:35:06 投稿:goldensun 这篇文章主要介绍了Python中isnumeric()方法的使用,is ...

  6. python strip函数用法_python strip()函数 介绍

    描述 Python strip() 方法用于移除字符串头尾指定的字符(默认为空格). 语法 strip()方法语法: str.strip([chars]); 参数 chars -- 移除字符串头尾指定 ...

  7. python pow函数用法_Python代码中pow()函数具有哪些功能呢?

    摘要: 下文讲述Python代码中pow()函数的功能说明,如下所示: pow函数功能说明 pow() 函数用于 计算 xy(x 的 y 次方) 的值 pow函数语法: import math mat ...

  8. python func函数用法_python函数局部变量用法实例分析

    本文实例讲述了python函数局部变量用法.分享给大家供大家参考.具体分析如下: 当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的.这 ...

  9. python pow函数用法_python的pow函数怎么用

    pow() 方法返回 xy(x的y次方) 的值. 以下是 math 模块 pow() 方法的语法:import math math.pow( x, y ) 内置的 pow() 方法pow(x, y[, ...

最新文章

  1. bgp选路原则【第二部】
  2. cxGrid, 和AfterScroll
  3. 运行在TQ2440开发板上以及X86平台上的linux内核编译
  4. Go 如何利用 Linux 内核的负载均衡能力
  5. 震惊!几道Python 理论面试题,Python面试题No18
  6. itchat库微信自动回复祝福语
  7. Transformers Assemble(PART II)
  8. MES系统是什么——史上最全MES介绍
  9. java drawline_Java Graphics.drawLine方法代码示例
  10. java 如何调用类库_Java中怎么调用类库?
  11. php万年历月份处理_使用 PHP 写的万年历接口
  12. 图像处理之Texture Synthesis for Mobile Data Communications论文精读
  13. Go 初识微信订阅号(测试号)
  14. python3图片裁剪+转换pdf+压缩
  15. AndroidStudio安装配置教程(参考)
  16. 攻防世界 MISC 新手练习区 writeup 001-006
  17. PT100三线制恒流源接法
  18. php img本地图片路径,php 替换文章中的图片路径,下载图片到本地服务器的方法
  19. 八个常见Java项目,献给初学编程的你!
  20. 西游记中孙悟空为什么打不过有法宝的妖怪?

热门文章

  1. FSRNet:端到端深度可训练人脸超分辨网络
  2. HDU3410 Passing the Message 【单调栈】
  3. 打印show attend and tell的解码器网络结构
  4. sqlite to mysql_SqliteToMysql官方版
  5. springboot优雅停机
  6. 牛客题霸 NC9 二叉树中是否存在节点和为指定值的路径
  7. C#——《C#语言程序设计》实验报告——Windows桌面编程
  8. Gourmet Cat
  9. 华为mate50麒麟处理器鸿蒙系统,华为Mate50Pro:有鸿蒙OS,处理器你选择麒麟还是高通...
  10. Python实训day02pm【元组、字典、lambda】