栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Python的字符串操作】

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Python的字符串操作】

文章目录

前言

一、字符串创建

二、字符串索引

三、字符串方法

(1)大小写转换方法

(2)位置调整方法

(3)删除左右字符

(4)字符判断

总结


 


 

 


前言

字符串在是一种重要的数据类型,它是由一系列字符组成的,并通过引号(单引号或者双引号都可以)括起来。在Python语言中,字符串(str)是Python内置的一个类(class),有很多函数和方法可以进行字符串的处理。当然Python也有专门的字符串处理的外加库RE,本文将只聚焦于Python的内置字符串函数和方法。

 

一、字符串创建

我们可以用单引号,双引号或者三引号括起来一些字符,就生成了一个字符串。其中三引号括起来的内容可以是多行内容。需要注意的是如果没有引号,那字符会被认为是一个变量。如

>>> str1="abc"#用双引号创建字符串
>>> print(str1) #str1是一个变量,并不是字符串
abc
>>> str2='def'#用单引号创建字符串
>>> print(str2) 
def
>>> str3='''abc 
... def
... '''#用三引号创建多行字符串
>>> print(str3) 
abc
def
二、字符串索引

字符串的索引和列表类似,此时可以将字符串看成一个列表,每个字符相当于列表的每个元素。可以用str(i)来代表第i个字符,str(i:j)来代表i到j-1的字符串切片,str(i:j:q)来代表i到j-1,step为q的字符串切片,str(-i)代表从右到左的第i个字符(注意最后一个字符i=1,和第一个字符i=0不一样)。字符串的索引例子如下

>>> str='abcdef123'
>>> str[1]#第1个字符'b'
'b'
>>> str[-1]#最后一个字符'3' 
'3'
>>> str[-2]#倒数第二个字符'2' 
'2'
>>> str[1:4]#第1到3的字符切片'bcd' 
'bcd'
>>> str[2:]#第2到最后的字符切片  
'cdef123'
>>> str[::2]#step为2的字符切片 
'ace13'
>>> str[::-1]#从右到左的字符切片 
'321fedcba'

 

三、字符串方法 (1)大小写转换方法

Python字符串有以下5种常用的转换大小写的方法:

方法描述
capitalize()返回新字符串,将整个字符串的首字母大写,其他字母小写
title()返回新字符串,将单词的首字母大写,其他字母小写,字符串只有1个单词和capitalize()效果一样
lower()返回新字符串,将所有字符变成小写
upper()返回新字符串,将所有字符变成大写
swapcase()返回新字符串,颠倒每个字符的大小写

 示例如下:

>>> str='heLLo woRlD'  
>>> str.capitalize()#首字母大写,其他小写
'Hello world'
>>> str.title() #所有单词的首字母大写,其他小写     
'Hello World'
>>> str.lower() #所有字母小写
'hello world'
>>> str.upper() #所有字母大写
'HELLO WORLD'
>>> str.swapcase() #颠倒大小写
'HEllO WOrLd'
(2)位置调整方法

有时候我们想要字符串居中对齐,或者左右对齐,需要用到以下几种位置调整方法:

方法描述
ljust(width,fill_char=" ")返回新字符串,字符串左对齐,宽度为width,其余用fill_char(省略了默认为空格)补全
rjust(width,fill_char=" ")返回新字符串,字符串右对齐,宽度为width,其余用fill_char(省略了默认为空格)补全
center(width,fill_char=" ")返回新字符串,字符居中对齐,宽度为width,其余用fill_char(省略了默认为空格)补全
zfill(width)f返回新字符串,宽度为width,左边用0补全

示例如下:

>>> str='abcd'
>>> str.ljust(8) #返回宽度为8的字符串,左对齐,右边默认用空格补全
'abcd    '
>>> str.ljust(8,'o') #返回宽度为8的字符串,左对齐,右边用字符'o'补全
'abcdoooo'
>>> str.rjust(8)   #返回宽度为8的字符串,右对齐,左边默认用空格补全  
'    abcd'
>>> str.rjust(8,'o') #返回宽度为8的字符串,右对齐,左边用字符'o'补全
'ooooabcd'
>>> str.center(8)  #返回宽度为8的字符串,居中对齐,两边默认用空格补全   
'  abcd  '
>>> str.center(8,'o') #返回宽度为8的字符串,居中对齐,两边用字符'o'补全
'ooabcdoo'
>>> str.zfill(8)    #返回宽度为8的字符串,右对齐,左边用0补全  
'0000abcd'
(3)删除左右字符

当我们想要删除字符串的左边或者右边的字符的时候,可以用以下几种方法:

方法描述
lstrip()返回新字符串,默认移除左边所有空格。当括号内有字符时,则移除左边所有该字符
rstrip()返回新字符串,默认移除右边所有空格。当括号内有字符时,则移除右边所有该字符
strip()返回新字符串,默认移除两边所有空格。当括号内有字符时,则移除该字符
removeprefix(prefix)返回新字符串,移除指定的prefix前缀字符
removesuffix(suffix)返回新字符串,移除指定的suffix后缀字符

例子如下:

>>> str='  abcd  '
>>> str.lstrip() #移除左边所有空格
'abcd  '
>>> str.rstrip() #移除右边所有空格
'  abcd'
>>> str.strip()  #移除两边所有空格
'abcd'
>>> str='aaabcdeaaa' 
>>> str.lstrip('a') #移除左边所有字符'a'
'bcdeaaa'
>>> str.rstrip('a') #移除右边所有字符'a'
'aaabcde'
>>> str.strip('a')  #移除两边所有字符'a'
'bcde'
>>> str.removeprefix('aaa')  #移除左边前缀字符'aaa'
'bcdeaaa'
>>> str.removesuffix('aaa')  #移除右边前缀字符'aaa'
'aaabcde'

注意str.ljust(char)和str.removeprefix(char)的效果可能不一样,当字符串左边有多个char字符时,前者会移除左边所有的char,后者只移除左边第一个char,如

>>> str='ababdef'
>>> str.removeprefix('ab') #只移除左边第一个'ab'
'abdef'
>>> str.lstrip('ab') #移除左边所有的'ab'      
'def'
(4)字符判断

当我们需要判断字符串的字符类型或者字符的内容包含什么时,可以有以下几种方法:

方法描述
startswith(char)当字符串以char开头时,返回True,否则返回False
endswith(char)当字符串以char结尾时,返回True,否则返回False
isalpha()当字符串是纯字母时,返回True,否则返回False
isnumeric()当字符串是纯数字时,返回True,否则返回False
isalnum()当字符串只有字母和数字时,返回True,否则返回False
isspace()当字符串只有空格时,返回True,否则返回False
islower()当字符串全是小写字母时,返回True,否则返回False
issuper()当字符串全是大写字母时,返回True,否则返回False
istitle()当字符串的单词首字母大写时,返回True,否则返回False
  

举例如下:

>>> str1='12345'
>>> str2='abcde'
>>> str3='abc123'
>>> str1.isnumeric() #str1是'12345',全部是数字所以是True
True
>>> str2.isnumeric() #str2是'abcde',不是全部是数字所以是False
False
>>> str1.isalpha() #str1是'12345',不是全部是字母所以是False
False
>>> str2.isalpha() #str2是'abcde',全部是字母所以是True
True
>>> str1.isalnum() #str1是'12345',所以是True
True
>>> str2.isalnum() #str2是'abcde',所以是True
True
>>> str3.isalnum() #str3是'abc123',全是数字或字母,所以是True
True
>>> str1.startswith('123') #str1以123开头,所以是True
True
>>> str1.startswith('124') #str1不以124开头,所以是False
False
>>> str1.endswith('345') #str1以345结尾,所以是True
True
>>> str1.endswith('245') #str1不以245结尾,所以是False
False

总结

以上就是Python字符串的一些介绍,包括了字符串的创建,索引,方法和函数等。Python除了自带的字符串处理方法外,还有专门的字符串处理库RE,后面会进一步介绍。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/943035.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号