Python字符串相关函数

判断类

名称用途
str.islower()判断字符串中的字母字符是否全部为小写,该方法仅判断字符串中的字母字符,不理会其它字符。字符串必须至少包含一个字母字符,否则返回False
str.isupper()与st.islower()方法相反,判断所有字母字符是否全部大写
str.casefold()把整个字符串的所有字符改为小写
str.isalnum()判断字符串是否只包含由文字数字式字符,字符串仅包含中文字符合法。若字符串包含空格、下划线、~等非文字数字式字符,均返回False
str.isalpha()判断字符串是否只包含文字字符,字符串仅包含中文字符合法
str.isprintable()判断字符串所包含的字符是否全部可打印。字符串包含不可打印字符,如转义字符,将返回False
str.isidentifier()判断字符串是否是合法的标识符,字符串仅包含中文字符合法,实际上这里判断的是变量名是否合法
str.istitle()判断字符串每个单词的首字母是否大写。字符串必须至少包含一个字母字符,否则返回False。即使首字母字符前面有非字母字符,如中文、数字、下划线等,也不影响对首字母字符的判断
str.isspace()判断字符串是否仅包含空格或制表符
str.isdecimal()判断字符串是否只包含十进制数字字符,包括多国语言的十进制数字字符表现形式
str.isdigit()判断字符串是否只包含数字,这里的数字包括十进制数字和其它特殊数字(如上标数字等)。一般地,一个数字是拥有如下属性值的字符:Numeric_Type=Digit或Numeric_Type=Decimal
str.isnumeric()判断字符串是否只包含数字字符。数字字符范围很大, 一般来说,数字字符是拥有如下属性值的字符:Numeric_Type=Digit Numeric_Type=Decimal或Numeric_Type=Numeric比较isdecimal() isdigit() isnumeric()几个方法检测的范围依次扩大

格式化类

名称用途
str.encode(encoding=’utf-8’,errors=’strict’)以encoding指定的编码格式对字符串进行编码
str.lower()把全部字母字符转换成小写,不去管其它非字母字符。字符串全部为非字母字符也是合法的,但返回原字符串
str.upper()与str.lower()相反,把全部字母字符转换成大写
str.swapcase()把字符串中的大小写字母互换,大写转换成小写,小写转换成大写。不去管非字母类字符
str.capitalize()字符串首字母大写,其余小写。如果字符串首字符为非字母字符,将返回原字符串。字符串仅包含非字母字符合法,但返回原字符串
str.title()字符串中每个单词的首字母大写,其余小写。单词的首字符为非字母字符也不影响转换。字符串仅包含非字母字符合法,但返回原字符串
str.center(width[,fillchar])返回一个原字符串居中,长度为width的新字符串,width要大于len(str),否则返回原字符串,原字符串开头和结尾处使用fillchar进行填充,默认为空格。注:width为偶数时,fillchar将平均地填充到原字符串的开头和结尾;为奇数时,fillchar优先填充前面
str.ljust(width[,fillchar])返回一个长度为width,左对齐的字符串,最右边填充fillchar,默认为空格。width要大于len(str),否则返回原字符串
str.rjust(width[,fillchar])与str.ljust()类似,但是它返回一个右对齐的字符串,最左边填充fillchar
str.lstrip([chars])返回一个去除前了导字符的新字符串,chars参数是一个字符串,它包含了所有将要被移除的字符集合。默认为空格。注:关于lstrip函数(包括rstrip和strip),它实际的意思是,从原字符串的最左边开始,匹配chars里包含的所有字符,直至遇到第一个非chars字符为止,原字符串中匹配到的所有字符都被移除
str.rstrip([chars])与str.lstrip()相反,从最右边开始匹配
str.strip([chars])从字符串的两头开始匹配
str.expandtabs([tabsize])把字符串中的所有制表符替换成零个或多个空格,每个制表符替换成多少个空格,由制表符在字符串中的位置和tabsize共同决定。tabsize指定每个制表符替换成的空格数,默认为8个
str.zfill(width)返回一个长度为width的数字字符串,最左边填充0。如果width小于等于原字符串长度,则返回原字符串。主要用于数字类字符串的格式化

查找&替换类

名称用途
str.count(sub[,start[,end]])统计某个字符中子字符串sub的个数。start和end指定统计范围,未指定则默认全字符串范围内统计
str.find(sub[,start[,end]])查找子字符串在字符串中出现的第一个位置,start和end指定一个查找范围。未找到返回-1 注: 1、find查找的是子字符串在全字符串中出现的第一个位置,匹配到字符串就结束查找,不管后面还有没有匹配的字符串。2、find查找的是子字符串在全字符串出现的第一个位置,而不是指定切片中的第一个位置。3、如果仅想判断子字符串是否在某一字符串中,用in判断符即可,无需find
str.rfind(sub[,start[,end]])跟find方法一样,返回指定子串的index位置,只不过rfind从字符串的最右边开始查找,找不到时返回-1。注意:从最右边开始查找,但index位置却是从原字符串的最左边开始算的
str.format(*args,**kwargs)调用fortmat方法的字符串中不但有纯文本,也有使用{}界定符包括起来的替换字段。替换字段既可以是位置参数的数值索引,也可以是字典或属性的Key值。该方法返回的字符串里,所有替换字段都被相应参数的值所替代
str.index(sub[,start[,end]])类似str.find(),但是如果没有找到子串,返回raised ValueError
str.rindex(sub[,start[,end]])类似于str.rfind(),但是如果没有找到,返回raises ValueError
str.replace(old,new[,count])返回一个新字符串,原串中的old被替换为new,count指定替换次数
static str.maketrans(x[,[y,z]])返回一个转换表,以供str.translate()方法使用,两个方法常配合使用
str.translate(map)和str.maketrans()函数配合使用,替换相应的字符
str.startswith(prefix[,start[,end]])检查字符串是否以指定前缀开头,start和end指定判断的起始位置,默认全字符串
str.endswith(suffix[,start[,end]])检查字符串是否以指定后缀结尾,start和end指定判断的起始位置,默认全字符串

拆分&组合类

名称用途
str.partition(sep)该方法用于拆分字符串,返回一个包含三个元素的元组。如果未能在原字符串中找到Sep,则元组的三个元素为:原字符串,空串,空串;否则,从原字符串中遇到的第一个Sep字符开始拆分,元组的三个元素为:Sep之前的字符串,Sep字符,Sep之后的字符串;
str.rpartition(sep)与str.partition()相反,从原字符串的最右边开始拆分,但是同样返回包含三个元素的元组:倒数第一个Sep之前的字符串,Sep字符,Sep之后的字符串。注意”倒数Sep之前的字符串”,这个之前的字符串,是从原字符串的最左边开始算,并不是最右边
str.split([sep[,maxsplit]])返回一个以Sep分隔的列表,maxsplit指定拆分次数(因此,列表中元素的个数为maxsplit + 1)。Sep默认为空格,maxsplit默认不限制拆分次数。注意:1)如果未指定Sep或指定Sep为None(”),str两端的空格将舍弃;如果指定Sep(不管能否在原字符串中找到Sep),str两端的空格将保留 2)如果未能在原字符串中找到Sep,则返回一个仅包含一个元素的列表,这个元素就是原字符串。
str.rsplit([sep[,maxsplit]])与str.split()类似,只是它从最右边开始拆分。只有在指定maxsplit的情况下才会看到效果
str.join(iterable)使用连接符str来连接iterable对象中的元素,返回一个被str连接起来的,由iterable对象的元素组成的字符串。如果传入一个非iterable对象,如整数、布尔值等,将返回Type Error
str.splitlines([keepends])拆分一个包含多行的字符串,以每行为一个元素返回一个列表。如果字符串不是多行的,则返回原字符串。keepends是一个True字符或非零整数,表示保留行尾标志。该方法多用于处理文件
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值