Python 字符串常用函数

家住魔仙堡 提交于 2019-12-22 16:55:29

 

操作字符串的常用函数

函数描述(返回值)

str.capitalize() 

将字符串的第一个字符大写

str.title()

返回标题化的字符串,即每个单词的首字母都大写

str.upper()

 全大写

 str.lower()

 全小写

 

 

len(str)

返回字符串的长度。用法与其他不同。

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

统计字符串里某个子串出现的次数。三个参数:搜索的子串、搜索的开始位置、结束位置。后2个可选,缺省时默认为0、-1

可选参数为在字符串搜索的开始与结束位置

 

 

str.center(width[, fillchar])

返回一个指定宽度 width 居中的字符串,fillchar 为填充的字符(只能是一个字符,不能是字符串,下2个同),默认为空格。

 ljust(width[, fillchar])

 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。

 rjust(width[, fillchar])

 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串

 

 

lstrip([substring])

删掉字符串开头的子串substring。开头的substring才会被删除。参数缺省时默认为空格。

rstrip([substring])

删掉字符串开头的子串substring。开头的substring才会被删除。参数缺省时默认为空格。

strip([substring])

lstrip()+rstrip()

 

 

 str.encode("UTF-8")

 以指定字符集编码,返回编码后的字符串

 str.decode("UTF-8")

 以指定字符集解码,返回解码后的字符串。需要在之前使用encode()编码,才能使用decode()

 

 

str.startswith(substring[,satrt[,end]])    

检查字符串是否是以指定子字符串 substr 开头,返回值是bool类型。三个参数:搜索的子串、搜索的开始位置、结束位置。后2个可选,缺省时默认为0、-1

endswith(substring[, start[, end]])

判断字符串是否以指定子串结尾

 

 

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

在str中查找指定子串,找到就返回子串的位置(索引),找不到就返回-1

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

 同find(),只不过是从右向左找

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

 同find(),只不过找不到时是报错(error)

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

从右向左找

 

 

str.replace(oldSub, newSub [, maxCount])

替换子串,count指5定最大替换次。比如max=5,则替换5次,str中不足5个匹配时,有多少个就替换多少个。

str.expandtabs(1)

把字符串中的\t替换为指定个数的空格,\t的默认空格数是 8 ,参数指定空格数,缺省时默认为8(不替换)

 

 

str.split([substring[, count]])

将字符串切割为字符串列表,返回字符串列表。substring指定分隔符(默认为空格,一个或多个空格都行),count指定切割次数(默认为-1,全部切完)。切一刀会得到2个子串(后面作为一个整体)。

连接符.join(seq)

以指定字符串作为连接符,将 seq 中所有的元素连接为一个字符串,并返回这个字符串。seq必须为字符串序列,否则报错。

 

 

说明

  • 以上函数不用导入模块,直接使用即可。

  • 返回的均是副本,原串(变量)不会改变
  • 都是通过  字符串.方法名()    的形式调用的,len(str)除外。

 

 

常见单词

  • substring    子串
  • sequence    序列
  • strip    剥夺、修剪、去除
  • join    连接、加入、结合

 

 

strip()的使用:

str = "hellohello world"
print(str.lstrip("hello"))  # 开头的2个hello都会被删除

str="hello hello"
print(str.lstrip("hello"))  #只会删除第一个hello

str="!hello hello"
print(str.lstrip("hello"))  #hello不是字符串开头,所以不会删除

"""
l/rstrip(),先判断substring是不是字符串的开头/结尾,是才删除(多个连着时,会删除多个)
strip()相当于lstrip()+rstrip(),只删除开头、结尾处的,并不是全部删除。
"""

 

 

 

split()的使用:

str = "hello  world"
print(str.split("o"))   #['hell', ' w', 'rld']
print(str.split("o",1))  #['hell', '  world']   一刀2段,后面作为一个整体

 

 

 

join()的使用:

seq=["hello","world","ok"]
print(" ".join(seq))  #hello world ok   以空格连接
print("**".join(seq))  #hello**world**ok  以**连接

 

 

eval()、exec()的使用:

eval("print(1)")  #1
exec("print(2)")  #2

eval(str)、exec(str)都是执行字符串中的python代码,只不过exec()功能更加强大。

 

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