博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python3笔记--字符串
阅读量:4454 次
发布时间:2019-06-07

本文共 4880 字,大约阅读时间需要 16 分钟。

什么是字符串?

是以单引号或双引号括起来的任意文本如:

string1 = 'abc' string2 = "cde"

 

字符串是不可变的,即以下尝试修改字符串的做法是错误的:

string = 'admin'string[0] = 'b' #会报出异常--TypeError: 'str' object does not support item assignment
 

 

字符串的方法

  1. eval()--它可以将字符串str当成有效的表达式来求值并返回计算结果
    print(eval('-135'))#-135 print(eval("12+3"))#15 print(eval("12-3"))#9 print(eval("{'key':'value'}"))#此处返回一个字典{'key':'value'}

     

  2. len()--返回字符串的长度
    print(len("sunck is a good man!"))#20

     

  3. lower()--转换字符串中大写字母为小写字母
    string="SUNCK is A Good Man"print('string=%s'% string.lower()) #string=sunck is a good man

     

  4. upper()--将字符串所有小写字母转换成大写字母
    string="SuNck Is a gOOd man"print(string.upper()) #SUNCK IS A GOOD MAN

     

  5.  swapcase()--转换字符串中字母的大小写
    string="SuNck Is a gOOd man"print(string.swapcase()) #sUnCK iS A GooD MAN

     

  6.  capitalize()--最首字母大写,其他小写
    string="SuNck Is a gOOd man"print(string.capitalize()) #Sunck is a good man

     

  7.  title()--每个单词首字母大写
    string="SuNck Is a gOOd man"print(string.title()) #Sunck Is A Good Man

     

  8. center(width,fillchar)--字符串居中两边填充fillchar(默认空格)宽为width
    string="SuNck Is a gOOd man"print(string.center(40,"*")) #**********SuNck Is a gOOd man***********

     

     
  9.  ljust(width[,fillchar])--返回一个指定宽度的左对齐字符串,fillchar为填充字符,填在右边
    string="SuNck Is a gOOd man"print(string.ljust(40,"%")) #SuNck Is a gOOd man%%%%%%%%%%%%%%%%%%%%%

     

  10. rjust(width[,fillchar])--返回一个指定宽度的有=右对齐字符串,fillchar为填充字符,填在左边
    string='you are nice man'print(string.rjust(40,'*')) #************************you are nice man

     

  11. zfill(width)--返回一个长度为width的字符串,原字符串右对齐,前面补0
    string='she was beautiful'print(string.zfill(40))#00000000000000000000000she was beautiful

     

     

  12.  count(str[,start][,end])--返回字符串中str出现次数,可指定范围
    string='he is very very handsome'print(string.count('very'))#2

     

  13.  find(str[,start][,end])--检测str字符串是否在字符串中,返回第一次出现的开始下标,没有返回-1
    string='he is very very handsome'print(string.find('very')) #6

     

  14.  rfind(str[,start][,end])--从右检测str字符串是否在字符串中,返回第一次出现的开始下标,没有返回-1
    string='he is very very handsome'print(string.rfind('very'))#11

     

  15.  index(str,start=0,end=len(str))--跟find()一样,只不过如果str不存在会返回异常
    string='kaige is a very very nice man'print(string.index('very'))#11

     

  16.  rindex(str,start=0,end=len(str))--跟index()一样,只不过从右开始检索
    string='kaige is a very very nice man'print(string.rindex('very'))#16

     

  17. lstrip()--截掉字符串左侧指定的字符,默认为空格
    string='******kaige is a very nice man'print(string.lstrip('*'))#kaige is a very nice man
     
  18. rstrip()--截掉字符串右侧指定的字符,默认为空格
    string='******kaige is a very nice man*****'print(string.rstrip('*'))#******kaige is a very nice man

     

  19. strip(str)--截去字符串两边str
    string='********kaige is a very nice man******'print(string.strip('*')#kaige is a very nice man

     

     

  20. split(str='',num)--以str为分隔符截取字符串,指定截num个。
    string="sunck**is*****a***good*man"list_=string.split("*")print(list_) #['sunck', '', 'is', '', '', '', '', 'a', '', '', 'good', 'man']

     

     

  21. splitlines([keepends])--按照(‘\r’,‘\r\n’,‘\n’)分隔,keepends=True ,会保留换行符。默认为False
    string='''sunck is a good man!sunck is a handsomoe man!sunck is a nice man!'''print(string.splitlines())#['sunck is a good man!', 'sunck is a handsomoe man!', 'sunck is a nice man!']

     

  22. join(seq)--以指定的字符串分隔符,将seq中的所有元素组合
    list_=['sunck','is','a','good','man']str2="*".join(list_)print(str2)#sunck*is*a*good*man

     

  23. max()、min()--它们作用于字符串是以ascii码表顺序比较大小
    max('a','A')#'a'

     

     

  24. replace(oldstr,newstr,count)--用newstr替换oldstr,默认是全部替换。如果指定了count,那么就替换前count个
    string="sunck is a good good good man"string=string.replace("good","nice",1)print(string)#sunck is a nice good good man

     

     

  25. startswith(str,start=0,end=len(str))--判断在给定的范围内是否以给定的字符串开头,如果没有给定范围, 则默认整个字符串
    string="sunck is a nice man"print(string.startswith('sunck'))#Trueprint(string.startswith("sunck",5,16)#False

     

  26. endswith(str,start=0,end=len(str))--判断在给定的范围内是否以给定的字符串结尾,如果没有给定范围, 则默认整个字符串
    string="sunck is a great man"print(string.endswith("man"))#True

     

  27. encode(encoding="utf-8",errors="strict")--编码
    string="sunck is a good man"data=string.encode("utf-8")print(data)#b'sunck is a good man'

     

  28. decode()--解码 注意:要与编码的格式一致
    string="sunck is a good man"data=string.encode("utf-8")string=data.decode("utf-8")print(string)#sunck is a good man

     

  29. isalpha()--如果字符串中至少有一个字符,且所有字符都是字母返回True,否则为False
    string="sunckisagoodman"print(string.isalpha())#True

     

  30. isalnum()--如果字符串中至少有一个字符,且所有字符都是字母或数字返回True,否则返回False
    string="1a2b3"print(string.isalnum())#True

     

  31. isupper()--如果字符串字至少有一个英文字符且所有英文字符都是大写返回True,否则为False
    print("AB#C".isupper())#Trueprint("1".isupper())#False

     

  32. islower()--如果字符串字至少有一个英文字符且所有英文字符都是小写返回True,否则为False
    print("abcA".islower())#Falseprint("1".islower())#Falseprint("abc".islower())#True
     
  33. istitle()--如果字符串是标题化的返回True,否则返回False
    print("Sunck Is".istitle())#Trueprint("Sunck is".istitle())#False

     

  34. isdigit()--如果字符串中只包含数字字符返回True,否则返回False
    print("123".isdigit())#Trueprint("123a".isdigit())#False

     

  35. isnumeric()--同上
    print("123".isnumeric())#Trueprint("123a".isnumeric())#True

     

  36. isdecimal()--字符串只包含十进制字符
    print("123".isdecimal())#Trueprint("123a".isdecimal())#False

     

  37. isspace()--如果字符只包含空格返回True,否则返回False
    print(" ".isspace())#Trueprint(" \t".isspace())#True

     

 

转载于:https://www.cnblogs.com/byadmin/articles/foundation-1.html

你可能感兴趣的文章
C语言常见问题 如何用Visual Studio编写C语言程序测试
查看>>
Web用户的身份验证及WebApi权限验证流程的设计和实现
查看>>
hdu 2098 分拆素数和
查看>>
[ONTAK2010]Peaks kruskal重构树,主席树
查看>>
ECMAScript6-let与const命令详解
查看>>
iOS 使用系统相机、相册显示中文
查看>>
什么是敏捷设计
查看>>
SCSS的基本操作
查看>>
"安装程序无法定位现有系统分区" 问题解决
查看>>
.NET中栈和堆的比较
查看>>
【莫队】bzoj 3781,bzoj 2038,bzoj 3289
查看>>
如何优化limit
查看>>
几种常用数据库字段类型查询语句
查看>>
字符全排列
查看>>
提高效率必须改掉的7种习惯
查看>>
Java判断语句中判断条件的执行顺序
查看>>
Windows平台下tomcat+java的web程序持续占cpu问题调试
查看>>
OO第四次博客作业!
查看>>
HDU 吉哥系列故事——完美队形II 騰訊馬拉松初賽第二輪D題
查看>>
c++学习-继承
查看>>