python字符串操作

半世苍凉 提交于 2020-02-27 07:01:42

1.大小写转换

str.capitalize()

    返回字符串,其整个字符串的首字母大写

str.casefold() str.lower() str.upper()

    返回字符串,消除大小写,全部转为小写, str.lower()区别在于lower只转换某些语言中普通大写,casefold会全部都转换成小写

str.title()

    返回字符串,单词首字母大写

2.输出准备

str.center(n, fillchar)

    返回字符串为指定长度,长度大于字符串,小于字符串长度无效,字符串位于返回字符串的中心,字符串前后默认以空格填           充,可以指定

str.ljust(width, fillchar)类似str.rjust()

        返回字符串,为原字符串左对齐并补齐到指定长度, 长度小于原长度时不变,默认填充空格

str.zfill(n)

        返回字符串, 在字符串前添加n个0, 有负号时在负号后

str.lstrip(chars)类似rstrip(), strip()移除前后

        返回字符串, 移除字符串前指定的字符, 默认为空格, 指定后会移除chars的字符所有组合, 字符组合时可以重复使用

str.expandtaps(n)

返回字符串的副本,其中所有的制表符会由一个或多个空格替换,具体取决于当前列位置和给定的制表符宽度。 每 tabsize 个字符设为一个制表位(默认值 8 时设定的制表位在列 0, 8, 16 依次类推)。 要展开字符串,当前列将被设为零并逐一检查字符串中的每个字符。 如果字符为制表符 (\t),则会在结果中插入一个或多个空格符,直到当前列等于下一个制表位。 (制表符本身不会被复制。) 如果字符为换行符 (\n) 或回车符 (\r),它会被复制并将当前列重设为零。 任何其他字符会被不加修改地复制并将当前列加一,不论该字符在被打印时会如何显示。

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

str.format(*aegs, **kwaegs)

        执行字符串格式化操作,  如:'dsds{n}'.format(m1, m2), n为对应的mn

str.format_map(mapping)

类似于 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.拆分

str.partition(seq)类似str.rpartition(seq)

        在seq首次(最后一次)出现的位置拆分字符串, 返回一个三元组, 分别是前, 中, 后。当字符未被找到时, 前后分别为              空。

str.split(seq, maxsplit) 类似str.rsplit(seq, maxsplit)

        按照指定字符将字符串分成n份, n-1<=maxsplit, 区别在于一个从左到右,一个从右到左

str.splitlines()

        返回字符串中各行组成的列表, 在行边界的位置拆分。

表示符

描述

\n

换行

\r

回车

\r\n

回车 + 换行

\v 或 \x0b

行制表符

\f 或 \x0c

换表单

\x1c

文件分隔符

\x1d

组分隔符

\x1e

记录分隔符

\x85

下一行 (C1 控制码)

\u2028

行分隔符

\u2029

段分隔符

4.其他

str.count(sub, start, end)

    返回子串在str中出现的非重叠次数, start和end为对str作切片操作

str.encode(encoding='utf-8, error=)

        返回字符串,转换编码格式,默认为‘utf-8’:error可填'ignore''replace''xmlcharrefreplace''backslashreplace',     'strict'(默认)

str.endswich(suffix, start, end)  str.startswich(suffix, start, end)

        判断字符串是否已指定元素结束:suffix可以是元祖包含多个选项, start作用同上
str.find(sub, start, end)  str.rfind(), str.index(sub, start, end), str.rindex()

        返回子串在str切片中找到的最小索引,未被找到返回-1:index找不到子串数会报错    

检查字符串里元素类型:str.isalnum()字母数字组合类型, str.isalpha()字母类型, str.isascii()ascii码类型, str.isdecimal()小数类型, str.isdigit()数字类型, str.isdentifier()标识符, str.islower()小写, str.isnumeric()数字以及具有unicode数字值属性的字符,str.isprintable()是否可打印,str.isspace() 只有空格字符, str.istitle()是否为标题,即所有首字母大写,  str.isupper()大写

str.join()  

        将几个字符串组合起来,具体方式见示例:   '.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'

str.replace(old, new, count)

        返回字符串,所有的old子串被new替换, count为替换次数,默认最大。

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

str.translate(table)

str.swapcase()

        返回字符串, 大写字符统统转为小写, 反之亦然。

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!