参考链接: Python字符串| rpartition

4.7.1.字符串方法

字符串实现所有常见的序列操作,以及下面描述的其他方法。

字符串还支持两种类型的字符串格式化的,一个提供了很大程度的灵活性和定制(见str.format(), 格式化字符串的语法和自定义字符串格式化)和其他基于C printf风格的格式,处理范围较窄的类型,是稍硬使用正确,但对于它可以处理的情况(printf样式的字符串格式)通常更快。

标准库的文本处理服务部分涵盖了许多其他模块,这些模块提供各种与文本相关的实用程序(包括re模块中的正则表达式支持)。

str.capitalize()

返回字符串的副本,其首字符大写,其余字符小写。

str.casefold()

返回字符串的包含案例的副本。表壳折叠字符串可用于无壳匹配。

Casefolding类似于lowercasing但更具攻击性,因为它旨在删除字符串中的所有大小写区别。例如,德语小写字母'ß'相当于"ss"。因为它已经是小写的,所以lower()什么都不做'ß'; casefold() 将其转换为"ss"。

案例折叠算法在Unicode标准的3.13节中描述。

版本3.3中的新功能。

str.center(width [,fillchar ] )

以长度宽度的字符串为中心返回。使用指定的fillchar完成填充(默认为ASCII空间)。如果width小于或等于,则返回原始字符串len(s)。

str.count(sub [,start [,end ] ] )

返回[ start,end ] 范围内substring sub的非重叠出现次数。可选参数start和end被解释为切片表示法。

str.encode(encoding =“utf-8”,errors =“strict” )

将字符串的编码版本作为字节对象返回。默认编码是'utf-8'。可以给出错误以设置不同的错误处理方案。错误的默认值是'strict',意味着编码错误会引发错误UnicodeError。其他可能的值'ignore','replace','xmlcharrefreplace','backslashreplace'和其他任何名义通过挂号 codecs.register_error(),见错误处理程序。有关可能的编码列表,请参阅标准编码部分。

在3.1版中更改:添加了对关键字参数的支持。

str.endswith(后缀[,开始[,结束] ] )

返回True字符串是否与指定的结束后缀,否则返回 False。 后缀也可以是要查找的后缀元组。通过可选的 启动,从该位置开始测试。使用可选结束,停止在该位置进行比较。

str.expandtabs(tabsize = 8 )

返回字符串的副本,其中所有制表符由一个或多个空格替换,具体取决于当前列和给定的制表符大小。每个制表符字符都会出现制表符位置(默认值为8,在第0,8,16列等位置给出制表符位置)。要展开字符串,请将当前列设置为零,并逐个字符地检查字符串。如果字符是制表符(\t),则在结果中插入一个或多个空格字符,直到当前列等于下一个制表符位置。(不会复制制表符本身。)如果字符是换行符(\n)或返回(\r),它被复制,当前列重置为零。任何其他字符都将保持不变,当前列将加1,无论打印时字符的表示方式如何。

>>>

>>> '01\t012\t0123\t01234'.expandtabs()

'01      012     0123    01234'

>>> '01\t012\t0123\t01234'.expandtabs(4)

'01  012 0123    01234'

str.find(sub [,start [,end ] ] )

返回在切片中找到substring sub的字符串中的最低索引s[start:end]。可选参数start和end被解释为切片表示法。-1如果未找到sub,则返回。

注意

find()只有在需要知道sub的位置时才应使用该方法。要检查sub是否是子字符串,请使用 in运算符:

>>>

>>> 'Py' in 'Python'

True

str.format(* args,** kwargs )

执行字符串格式化操作。调用此方法的字符串可以包含由大括号分隔的文字文本或替换字段 {}。每个替换字段都包含位置参数的数字索引或关键字参数的名称。返回字符串的副本,其中每个替换字段都替换为相应参数的字符串值。

>>>

>>> "The sum of 1 + 2 is {0}".format(1+2)

'The sum of 1 + 2 is 3'

有关可以在格式字符串中指定的各种格式选项的说明,请参阅格式字符串语法。

注意

当格式化数(int,float,float 与和亚类)n类型(例如:'{:n}'.format(1234)),功能暂时设定LC_CTYPE的区域设置到LC_NUMERIC 区域解码decimal_point和thousands_sep领域 localeconv()如果它们是非ASCII或长于1个字节,而 LC_NUMERIC区域设置为比不同在LC_CTYPE语言环境。此临时更改会影响其他线程。

在版本3.7中更改:在使用n类型格式化数字时,该函数会在某些情况下临时将LC_CTYPE语言环境设置为LC_NUMERIC语言环境。

str.format_map(映射)

类似于str.format(**mapping),除了mapping直接使用而不是复制到dict。如果例如mapping是一个dict子类,这很有用:

>>>

>>> class Default(dict):

...     def __missing__(self, key):

...         return key

...

>>> '{name} was born in {country}'.format_map(Default(name='Guido'))

'Guido was born in country'

版本3.2中的新功能。

str.index(sub [,start [,end ] ] )

喜欢find(),但是ValueError在找不到子串时会引发。

str.isalnum()

如果字符串中的所有字符都是字母数字且至少有一个字符,则返回true,否则返回false。字符c是字母数字,如果下面的返回之一True:c.isalpha(),c.isdecimal(),c.isdigit(),或c.isnumeric()。

str.isalpha()

如果字符串中的所有字符都是字母并且至少有一个字符,则返回true,否则返回false。字母字符是在Unicode字符数据库中定义为“字母”的那些字符,即具有一般类别属性的那些字符是“Lm”,“Lt”,“Lu”,“L1”或“Lo”之一。请注意,这与Unicode标准中定义的“字母”属性不同。

str.isascii()

如果字符串为空或字符串中的所有字符都是ASCII,则返回true,否则返回false。ASCII字符的代码点范围为U + 0000-U + 007F。

版本3.7中的新功能。

str.isdecimal()

如果字符串中的所有字符都是十进制字符并且至少有一个字符,则返回true,否则返回false。十进制字符是可用于在基数10中形成数字的字符,例如U + 0660,ARABIC-INDIC DIGIT ZERO。正则小数字符是Unicode常规类别“Nd”中的字符。

str.isdigit()

如果字符串中的所有字符都是数字且至少有一个字符,则返回true,否则返回false。数字包括十进制字符和需要特殊处理的数字,例如兼容性上标数字。这包括不能用于在基数10中形成数字的数字,如Kharosthi数字。形式上,数字是具有属性值Numeric_Type = Digit或Numeric_Type = Decimal的字符。

str.isidentifier()

如果字符串是根据语言定义,标识符和关键字部分的有效标识符,则返回true 。

使用keyword.iskeyword()测试保留的标识符,例如 def和class。

str.islower()

如果字符串中的所有外壳字符[4]都是小写且至少有一个外壳字符,则返回true,否则返回false。

str.isnumeric()

如果字符串中的所有字符都是数字字符,则返回true,并且至少有一个字符,否则返回false。数字字符包括数字字符,以及具有Unicode数值属性的所有字符,例如U + 2155,VULGAR FRACTION ONE FIFTH。形式上,数字字符是具有属性值Numeric_Type = Digit,Numeric_Type = Decimal或Numeric_Type = Numeric的字符。

str.isprintable()

如果字符串中的所有字符都是可打印的或字符串为空,则返回true,否则返回false。不可打印的字符是Unicode字符数据库中定义为“其他”或“分隔符”的字符,但ASCII空间(0x20)除外,它被认为是可打印的。(请注意,此上下文中的可打印字符repr()是在字符串上调用时不应转义 的字符。它与写入sys.stdout或的字符串的处理无关sys.stderr。)

str.isspace()

如果字符串中只有空格字符并且至少有一个字符,则返回true,否则返回false。空白字符是Unicode字符数据库中定义为“其他”或“分隔符”的字符,以及具有双向属性的字符是“WS”,“B”或“S”之一。

str.istitle()

如果字符串是一个带有标题的字符串并且至少有一个字符,则返回true,例如,大写字符可能只跟随无字符的字符,而小写字符只能跟随字符。否则返回false。

str.isupper()

如果字符串中的所有外壳字符[4]都是大写且至少有一个外壳字符,则返回true,否则返回false。

str.join(可迭代的)

返回一个字符串,它是iterable中字符串的串联。TypeError如果在iterable中有任何非字符串值,包括bytes对象,则会引发 A. 元素之间的分隔符是提供此方法的字符串。

str.ljust(width [,fillchar ] )

返回长度的字符串左对齐字符串宽度。使用指定的fillchar完成填充(默认为ASCII空间)。如果width小于或等于,则返回原始字符串len(s)。

str.lower()

返回字符串的副本,并将所有套接字符[4]转换为小写。

所使用的小写算法在Unicode标准的3.13节中描述。

str.lstrip([ chars ] )

返回删除了前导字符的字符串副本。的字符 参数是要除去的字符串指定的字符集。如果省略或None,则chars参数默认为删除空格。该字符 参数不是前缀; 相反,它的所有值组合都被剥离:

>>>

>>> '   spacious   '.lstrip()

'spacious   '

>>> 'www.example.com'.lstrip('cmowz.')

'example.com'

static str.maketrans(x [,y [,z ] ] )

此静态方法返回可用的转换表str.translate()。

如果只有一个参数,则它必须是将Unicode序数(整数)或字符(长度为1的字符串)映射到Unicode序数,字符串(任意长度)或字典的字典None。然后将字符键转换为序数。

如果有两个参数,则它们必须是长度相等的字符串,并且在结果字典中,x中的每个字符将映射到y中相同位置的字符。如果有第三个参数,则它必须是一个字符串,其字符将映射到None结果中。

str.partition(sep )

在第一次出现sep时拆分字符串,并返回包含分隔符之前的部分的3元组,分隔符本身以及分隔符之后的部分。如果找不到分隔符,则返回包含字符串本身的3元组,后跟两个空字符串。

str.replace(旧的,新的[,计数] )

返回字符串的副本,其中所有出现的substring old都替换为 new。如果给出可选参数计数,则仅 替换第一次计数。

str.rfind(sub [,start [,end ] ] )

返回找到substring sub的字符串中的最高索引,以便包含subs[start:end]。可选参数start 和end被解释为切片表示法。-1失败时返回。

str.rindex(sub [,start [,end ] ] )

喜欢rfind()但ValueError在找不到子串子时加注。

str.rjust(width [,fillchar ] )

以长度宽度的字符串返回右对齐的字符串。使用指定的fillchar完成填充(默认为ASCII空间)。如果width小于或等于,则返回原始字符串len(s)。

str.rpartition(sep )

在最后一次出现sep时拆分字符串,并返回包含分隔符之前的部分的3元组,分隔符本身以及分隔符之后的部分。如果找不到分隔符,则返回包含两个空字符串的3元组,后跟字符串本身。

str.rsplit(sep = None,maxsplit = -1 )

使用sep作为分隔符字符串,返回字符串中单词的列表。如果给出maxsplit,则最多完成maxsplit分割,最右边 的分割。如果未指定sepNone,则任何空白字符串都是分隔符。除了从右边分裂之外,rsplit()其行为类似于 split()下面详细描述的。

str.rstrip([ chars ] )

返回删除了尾随字符的字符串副本。的字符 参数是要除去的字符串指定的字符集。如果省略或None,则chars参数默认为删除空格。该字符 参数不是后缀; 相反,它的所有值组合都被剥离:

>>>

>>> '   spacious   '.rstrip()

'   spacious'

>>> 'mississippi'.rstrip('ipz')

'mississ'

str.split(sep = None,maxsplit = -1 )

使用sep作为分隔符字符串,返回字符串中单词的列表。如果给出maxsplit,则最多完成maxsplit拆分(因此,列表将具有最多maxsplit+1元素)。如果未指定maxsplit-1,则对分割数量没有限制(进行所有可能的分割)。

如果给出了sep,则连续的分隔符不会组合在一起,并被视为分隔空字符串(例如,'1,,2'.split(',')返回 )。该月的参数可以由多个字符(例如,返回)。返回使用指定分隔符拆分空字符串。['1', '', '2']'1<>2<>3'.split('<>')['1', '2', '3']['']

例如:

>>>

>>> '1,2,3'.split(',')

['1', '2', '3']

>>> '1,2,3'.split(',', maxsplit=1)

['1', '2,3']

>>> '1,2,,3,'.split(',')

['1', '2', '', '3', '']

如果未指定sep或者是None,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,如果字符串具有前导或尾随空格,则结果将在开头或结尾处不包含空字符串。因此,将空字符串或仅包含空格的字符串与None分隔符分开将返回[]。

例如:

>>>

>>> '1 2 3'.split()

['1', '2', '3']

>>> '1 2 3'.split(maxsplit=1)

['1', '2 3']

>>> '   1   2   3   '.split()

['1', '2', '3']

str.splitlines([ keepends ] )

返回字符串中的行列表,在行边界处断开。除非给出keepends且为true,否则换行符不包括在结果列表中。

此方法拆分以下行边界。特别是,边界是普遍换行的超集。

表示描述\n换行\r回程\r\n回车+换行\v 要么 \x0b行列表\f 要么 \x0c换页\x1c文件分隔符\x1d组分隔符\x1e记录分隔符\x85下一行(C1控制代码)\u2028线分隔符\u2029段落分隔符

在版本3.2中更改:\v并\f添加到行边界列表中。

例如:

>>>

>>> 'ab c\n\nde fg\rkl\r\n'.splitlines()

['ab c', '', 'de fg', 'kl']

>>> 'ab c\n\nde fg\rkl\r\n'.splitlines(keepends=True)

['ab c\n', '\n', 'de fg\r', 'kl\r\n']

与给定split()分隔符字符串sep时不同,此方法返回空字符串的空列表,并且终止换行符不会产生额外的行:

>>>

>>> "".splitlines()

[]

>>> "One line\n".splitlines()

['One line']

为了比较,split('\n')给出:

>>>

>>> ''.split('\n')

['']

>>> 'Two lines\n'.split('\n')

['Two lines', '']

str.startswith(前缀[,start [,end ] ] )

返回True字符串是否与开始前缀,否则返回False。 前缀也可以是要查找的前缀元组。使用可选的启动,测试字符串从该位置开始。使用可选结束,停止比较该位置的字符串。

str.strip([ chars ] )

返回删除了前导和尾随字符的字符串副本。的字符参数是要除去的字符串指定的字符集。如果省略或None,则chars参数默认为删除空格。该字符参数不是前缀或后缀; 相反,它的所有值组合都被剥离:

>>>

>>> '   spacious   '.strip()

'spacious'

>>> 'www.example.com'.strip('cmowz.')

'example'

最外层的前导和尾随字符参数值将从字符串中删除。从前端删除字符,直到到达字符集中未包含的字符串字符。在尾端发生类似的动作。例如:

>>>

>>> comment_string = '#....... Section 3.2.1 Issue #32 .......'

>>> comment_string.strip('.#! ')

'Section 3.2.1 Issue #32'

str.swapcase()

返回字符串的副本,其中大写字符转换为小写,反之亦然。请注意,它不一定是真的 。s.swapcase().swapcase() == s

str.title()

返回字符串的标题版本,其中单词以大写字符开头,其余字符为小写。

例如:

>>>

>>> 'Hello world'.title()

'Hello World'

该算法使用简单的与语言无关的单词定义作为连续字母组。该定义在许多情况下起作用,但它意味着收缩和所有格中的撇号形成单词边界,这可能不是所期望的结果:

>>>

>>> "they're bill's friends from the UK".title()

"They'Re Bill'S Friends From The Uk"

可以使用正则表达式构建撇号的变通方法:

>>>

>>> import re

>>> def titlecase(s):

...     return re.sub(r"[A-Za-z]+('[A-Za-z]+)?",

...                   lambda mo: mo.group(0)[0].upper() +

...                              mo.group(0)[1:].lower(),

...                   s)

...

>>> titlecase("they're bill's friends.")

"They're Bill's Friends."

str.translate(表)

返回字符串的副本,其中每个字符已通过给定的转换表进行映射。该表必须是通过__getitem__()(通常是映射或 序列)实现索引的对象。当由Unicode序数(整数)索引时,表对象可以执行以下任何操作:返回Unicode序号或字符串,以将字符映射到一个或多个其他字符; return None,从返回字符串中删除字符; 或者引发 LookupError异常,将角色映射到自身。

您可以使用str.maketrans()不同格式的字符到字符映射创建转换映射。

另请参阅该codecs模块,以获得更灵活的自定义字符映射方法。

str.upper()

返回字符串的副本,并将所有套接字符[4]转换为大写。请注意,s.upper().isupper()可能是False如果s 包含无套管的字符或如果所得到的字符(县)的Unicode类别不是“吕氏春秋”(字母,大写),但如“LT”(字母,首字母大写)。

使用的大写算法在Unicode标准的3.13节中描述。

str.zfill(宽度)

返回用ASCII '0'数字填充的字符串的副本,以生成长度为宽度的字符串。一个前置符号前缀('+'/ '-')是通过将填充处理后的符号字符,而不是之前。如果width小于或等于,则返回原始字符串len(s)。

例如:

>>>

>>> "42".zfill(5)

'00042'

>>> "-42".zfill(5)

'-0042'

[转载] python 字符串方法大全相关推荐

  1. [转载] python字符串方法有哪些_27种Python字符串操作方法大全

    参考链接: Python字符串方法3| strip,lstrip,rstrip,min,max,maketrans,translate,replace和expandtabs 1.去空格及特殊符号 代码 ...

  2. python 字符串方法大全

    4.7.1.字符串方法 字符串实现所有常见的序列操作,以及下面描述的其他方法. 字符串还支持两种类型的字符串格式化的,一个提供了很大程度的灵活性和定制(见str.format(), 格式化字符串的语法 ...

  3. [转载] Python字符串操作大全(一)

    参考链接: Python字符串 字符串增删改查[strap()函数, split()函数 , find()函数 , 切片等] 学习一门编程语言一般从基础的数据类型开始 ,python中的数据类型有:整 ...

  4. python字符串方法大全

    注意,python中 字符串是不可变对象 ,所以所有修改和生成字符串的操作的实现方法都是另一个内存片段中新生成一个字符串对象.例如, 'abc'.upper() 将会在划分另一个内存片段,并将返回的  ...

  5. Python 字符串方法详解

    Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息. 在编程中,几 ...

  6. js检测字符串方法大全

    js检测字符串方法大全 <script> /* function obj$(id)                      根据id得到对象 function val$(id)      ...

  7. [转载] Python字符串操作方法详解

    参考链接: Python字符串方法| 2(len,count,center,ljust,rjust,isalpha,isalnum,isspace和join) 最近处理近10万条数据,大量字符串需要处 ...

  8. python字符串方法的简单使用

    学习python字符串方法的使用,对书中列举的每种方法都做一个试用,将结果记录,方便以后查询. (1) s.capitalize() ;功能:返回字符串的的副本,并将首字母大写.使用如下: 1 > ...

  9. 常见的几种python字符串方法总结

    常见的几种python字符串方法总结 python的字符串模块很强大,有很多内置的方法,我们介绍下常用的字符串方法: 一. find和rfind方法查找字串所在位置 s = 'abcdef' prin ...

最新文章

  1. C++学习之路 | PTA乙级—— 1051 复数乘法 (15 分)(精简)
  2. msm8953 fm设置频段流程
  3. android平板管理工具,安卓平板如何提升使用效率,这17款软件你应该知道
  4. 如何在html中使用特殊字体
  5. 2017年Python从入门到实战教程-徐培成-专题视频课程
  6. xp系统一直跳出宽带连接服务器,xp系统一直显示正在获取网络地址的操作方案...
  7. 【刘一哥2021总结】不负韶华,收获丰硕;不忘使命,砥砺前行
  8. XFTP中文目录乱码
  9. SAS 方差分析(复习4)
  10. 2019 中国AI/ MR十大新闻:梦想照进现实!
  11. React文件预览,React实现在线预览docx,xslx,pdf格式文件
  12. gre包分片及gro、gso等offload特性的应用
  13. 信用卡迎来史上最强风控?利用数据挖掘进行信用卡评分,提高银行的客户风险识别能力
  14. 西安国际港务区铁路集装箱中心站正式开通 两个“中心”构建国际陆港平台...
  15. Nwafu-1484 Problem n C语言实习题八——用户自定义sum
  16. [水晶报表]为水晶报表(含子报表)绑定数据
  17. [Unity插件]键盘输入改键盘任意键按键插件
  18. 基于matlab的SAR图像中自动目标识别
  19. cad导出pdf_CAD转PDF: 只需要9个步骤,导出你想要的PDF文档
  20. I'm a Mac:雄狮训练手册

热门文章

  1. 【NOIP2010】【Luogu1190】接水问题(给定顺序的模拟)
  2. java获取服务器超时_java – Eclipse中的Tomcat服务器超时
  3. linux vim 删除 h,Linux VIM 的使用快捷键之删除, 复制, 粘贴
  4. 根据录入的计算公式计算_建筑行业公式大全(一)之“钢筋工程量计算”
  5. 强连通图------(1)通过两次DFS或BFS判断是不是强连通图
  6. 继承基础概念与公有继承
  7. VS2012全屏背景修改教程
  8. 图像卷积详细解释 常用卷积核解释说明
  9. 吴恩达神经网络和深度学习-学习笔记-13-Aadm优化算法(Momentum + RMSprop)
  10. ubuntu系统下hbase数据库的安装和使用,hbase配置文件详解