文章目录

目录

前言

一、字符串创建

二、字符串索引

三、字符串方法

(1)大小写转换方法

(2)位置调整方法

(3)删除左右字符

(4)字符判断

(5)字符串拆分和连接

总结


前言

字符串在是一种重要的数据类型,一系列字符组成的内容通过引号(单引号或者双引号或者三引号都可以)括起来就构成了一个字符串。在Python语言中,字符串(str)也是程序内置的一个类(class),它有很多的函数和方法,可以进行字符串的处理,本文将其进行一些介绍。

一、字符串创建

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

>>> 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

(5)字符串拆分和连接

在写程序时经常需要根据某种规则拆分字符串或者连接字符串,我们可以用以下几种方法:

方法 描述
split(sep) 根据分隔符sep来拆分字符串,返回一个列表。当不指定sep时,默认以空格进行拆分。
partition(sep) 根据分隔符sep拆分字符串,返回包含三个元素的元组:(1)分隔符前的内容,(2)分隔符,(3)分隔符后的内容。
rpartition(sep) 根据分隔符sep拆分字符串,从右到左进行寻找分隔符,同样返回包含三个元素的元组:(1)分隔符前的内容,(2)分隔符,(3)分隔符后的内容。

join(iterable)

用字符串将可迭代对象iterable粘连起来,并返回一个新字符串

举例如下:

>>> str='abcDEFabcDEFabc'
>>> str.split('DEF')  #根据'DEF'来分割字符串,返回分割结果的list
['abc', 'abc', 'abc']
>>> str.partition('DEF') #根据'DEF'来从左到右分割字符串,返回元组
('abc', 'DEF', 'abcDEFabc') #三个部分:分隔符左边部分,分隔符,右边部分
>>> str.rpartition('DEF') #根据'DEF'来从右到左分割字符串,返回元组
('abcDEFabc', 'DEF', 'abc')
>>> list=['a','b','c','d']
>>> '_'.join(list) #用下划线将list连接起来,形成一个字符串
'a_b_c_d'

总结

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

Python的字符串操作相关推荐

  1. Python 1-10 字符串操作

    Python 1-10 字符串操作 1.字符串拼接 >>> s = 'hello'*2 >>> s = 'hello'+'world' >>> s ...

  2. Python中字符串操作函数string.split('str1')和string.join(ls)

    Python中的字符串操作函数split 和 join能够实现字符串和列表之间的简单转换, 使用 .split()可以将字符串中特定部分以多个字符的形式,存储成列表 1 def split(self, ...

  3. (python)字符串操作

    python提供了几种不同的方式来表示字符串: 用单引号,双引号,或都三引号都可以表示一个字符串 >>> a1='monicx' >>> a2="moni ...

  4. python字符串的内部函数_「Python」字符串操作内置函数

    目录: capitalize casefold center count encode decode endswith expandtabs find format format_map index ...

  5. Python的字符串操作和Unicode

    字符串类型 str:Unicode字符串.采用''或者r''构造的字符串均为str,单引号可以用双引号或者三引号来代替.无论用哪种方式进行制定,在Python内部存储时没有区别. bytes:二进制字 ...

  6. python字符串基本操作-Python 基本字符串操作

    一.字符串拼接 str.join(sequence)将序列(sequence)中的元素以指定的字符(_)连接生成一个新的字符串 a = "123" b = "abc&qu ...

  7. python isidentifier_【我们一起自学Python】-字符串操作

    这里列举一下字符串的一些操作,方便以后用到时查询使用.1.capitalizeprint("my name is Galen".capitalize())#首字母大写 My nam ...

  8. python基础: 字符串操作

    字符串 定义: 使用引号括起来的一串字符 一对单引号.一对双引号.三对单引号.三对双引号 转义:使用 '\',使原来有特殊含义的字符变成普通字符,也可以在定义字符串的前面加一个'r' 字符串拼接 s1 ...

  9. Python:字符串操作1(去掉空格)

    1.strip():把头和尾的空格去掉 2.lstrip():把左边的空格去掉 3.rstrip():把右边的空格去掉 4.replace('c1','c2'):把字符串里的c1替换成c2.故可以用r ...

  10. python中字符串操作

    (1)字符串剔除空格 string.strip()    ---> 去除字符串首尾空格(字符串中间的空格不会被删除) string.lstrip()   ---> 去除字符串首部空格(字符 ...

最新文章

  1. 【 C 】字符分类函数
  2. wide_and_deep 思维导图和代码
  3. Go web framework
  4. AIX操作系统启动详细介绍
  5. while循环打印*菱形
  6. python如何确定拐点_多年股市老鸟买卖操作经验——如何在波段操作确定买入点!经典...
  7. GIS实战应用案例100篇(八)-桩号相同,坐标不同,RTK怎么输入曲线要素?
  8. Zend Server搭建网站备注
  9. 用友u8服务器优化,用友U8v10.1运行速度慢的问题及解决方法
  10. hashmap hash冲突怎么解决_HashMap原理及冲突之简谈
  11. 基于HBase+ ElasticSearch的海量交通数据实时存取方案设计
  12. Twisted中的putChild和getChild
  13. Written English-书面-一般将来时
  14. 数字在排序数组中的出现次数
  15. linux下ftp服务和dns的关系,linux企业常用服务---dns+ftp+dhcp
  16. @loj - 2483@「CEOI2017」Building Bridges
  17. read -p 的使用
  18. 嵌入式相关开源项目、库、资料
  19. 怎么使用biopython_什么是Biopython? 你能用Biopython做什么? Biopython功能概。
  20. invalid vcs root mapping 怎么解决_一加黑鲨华硕OPPO等手机root后微信指纹支付不可用怎么解决...

热门文章

  1. android 调用app后返回数据,h5和app交互
  2. PyTorch之CIFAR10
  3. 格式化标签、粗体、下划线等
  4. 就「苏宁10.12广工龙洞校招会」歧视广工甚至所有非985/211学子有感
  5. 3天学会撰写软件发明专利——专利是什么
  6. 安卓客户端为什么需要发心跳?
  7. 威布尔 风速 matlab,风速威布尔分布和ARMA预测模型matlab程序.doc
  8. 在c语言中阿储存形式,c语言学习与阿复习课件2.ppt
  9. 简述3种CQRS架构模式
  10. #undef_Cplusplus