Python基础之字符串操作常用函数集合
作者:罗阿红 发布时间:2023-11-26 23:26:12
Python字符串常用功能汇总
1、字符串的定义
#定义空字符串
>>> name=''
#定义非空字符串>>> name="luoahong"
#通过下标访问>>> name[1]'u'
#不能修改字符串的值,否则会报错>>> name[2] = "3"Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'str' object does not support item assignment
特别提醒:字符串如果修改的话,字符串所在的内存地址也跟着变化,所以不可被修改,但是对于列表来说,可以修改是因为列表的内存是不变的,可以直接在上面修改
2、切片
特别提醒:字符串其实和列表,元组一样,也是可以切片的
>>> name="ahong luo">>> name[1:4]#取1到4之间的字符,包括1,不包括4'hon'>>> name[1:-1] #取1到-1之间的字符,包括1,不包括-1'hong lu'>>> name[0:3]'aho'>>> name[:3] #从头开始取,0可以省略,效果等同于name[0:3]'aho'>>> name[3:]#想取到最后一个值,必须不能写-1,只能这么写'ng luo'>>> name[0::2]#后面的2表示:每隔一个字符就取一个'aoglo'>>> name[::2] #从头开始0可以省略,效果跟上一句一样'aoglo'
3、首字母大写(capitalize())
>>> name="ahong luo">>> name.capitalize()'Ahong luo'>>>
4、统计(count(sub,start=None,end=None))
sub:统计的字符,start:开始位,end:结束位,start和end默认为空时,则表示全部字符中去统计
>>> name="ahong luo"
#有开始和结束符
>>> name.count("o",1,5)1
#从整个字符串中统计字符>>> name.count("o")
2>>>
5、center(width,fillchar)
如果width(字符宽度)小于等于(<=)字符串的长度,则返回原字符串,如果大于(>)字符串的,则用fillchar(填满字符)填满,处理结果等于width,字符串位于fillchar的中间
>>> name="ahong luo">>> len(name)9
#10小于等于字符串宽度>>> name.center(12,'-')'-ahong luo--'
#50大于字符串长度,并且字符串位于填充字符的中间>>> name.center(50,'-')'--------------------ahong luo---------------------'>>> len(name.center(50,'-'))50
6、ljust(width,fillchar)
如果字符串的长度大于width(字符宽度),则返回原字符串,如果小于width,则用fillchar(填满字符)填满,处理结果等于width,fillchar位于字符串的最右边
>>> name="ahong luo">>> len(name)9
#小于等于字符串的长度>>> name.ljust(8,'-')'ahong luo'
#大于字符串的长度>>> name.ljust(50,'-')'ahong luo-----------------------------------------'
特别提醒:ljust中的l表示left的意思,表示从右向左
7.rjust(width,fillchar)
如果字符串的长度大于width(字符宽度),则返回原字符串,如果小于width,则用fillchar(填满字符)填满,处理结果等于width,fillchar位于字符串的最左边
>>> name="ahong luo"
>>> len(name)9>>> name.rjust(8,'-')'ahong luo'>>> name.rjust(50,'-')'-----------------------------------------ahong luo'
特别提醒:ljust中的l表示left的意思,表示从左向右
8、编码(encode)
字符串的编码和解码,在这边不用说了,我专门写了一篇博客,详细地址:猛击这里
9、endwith(suffix,start=None,end=None)
判断是否已suffix结尾,是返回True,否返回Fales
suffix:表示字符,start:开始位,end:结束位,start和end默认为空是,表示从整个字符串的结尾去判断>>> name="ahong luo"
>>> name.endswith('0',1,4) False
>>> name.endswith('o') True >>> name.endswith('o',1,4) False
10、find(sub,start=None,end=None)
全文查找sub中第一个字符所在整个字符串中的索引值,没有找到则返回-1
sub:字符或者字符串,start:开始位,end:结束位,start和end默认为空时,则在整个字符串中查找
>>> name="ahong luo"
#没找到,则返回-1>>> name.find("lu",1,4)-1>>> name.find("a",2)-1>>> name.find("lu")6>>> name.find("lu",1,6)-1>>> name.find("lu",1,10)6>>>
11、rfind(sub,start=None,end=None)
从左向右查找sub中第一个字符所在整个字符串中的索引值,没有找到则返回-1
>>> name="ahong luo"
#找到>>> name.rfind("a")0
#未找到>>> name.rfind("a",2)-1
12、format()
①关键字拼接也是官方推荐123456789name = "alex"age = 18 info = '''----info-----name:{_name}age:{_age} '''.format(_name=name,_age=age) print(info) ②占位符拼接123456789name = "alex"age = 18 info = '''----info-----name:{0}age:{1} '''.format(name,age) print(info)
13、format_map()
数据格式,以字典形式传入
>>> name="name:{name},age:{age}">>> name.format_map({"name":"luoahong",'age':23})
#输出结果'name:luoahong,age:23'
14、isalnum()
是否是一个阿拉伯数字和字母,它包含因为英文字符+(1-9)数字,中间不能有特殊字符
>>> age='23'>>> age.isalnum()True
#有特殊字符的>>> age='ab23'>>> age='ab'>>> age.isalnum()True>>> age='ab'>>> age.isalpha()True>>>
15、isalpha()
是否是一个纯的英文字符,包含大写
>>> age = 'ab'
>>> age.isalpha()
True
#夹着数字
>>> age = 'ab23'
>>> age.isalpha()
False
#大写
>>> age = 'Ab'
>>> age.isalpha()
True
16、isdigit()
判断是否是一个整数
17、isspace()
判断是否是一个空格
#不是空格
>>> age = ' age'
>>> age.isspace()
False
#是空格
>>> age = ' '
>>> age.isspace()
True
18、istitle()
是否是一个标题(字符串中的每个单子首字母大写)
#每个单词的首字母是小写
>>> name="luoahong">>> name.istitle()False>>> name="luo a hong">>> name.istitle()False
#每个单词的首字母大写>>> name="Luo A Hong">>> name.istitle()True>>> name="Luoahong">>> name.istitle()True
19、isupper()
是否是大写,注意字符串必须全部是大写才会返回True,否则返回False
#全部大写
>>> name="LUO">>> name.isupper()True
#小写>>> name="Luo">>> name.isupper()False>>>
20、join()
序列用某个字符拼接成一个字符串,注意的是,序列的元素必须是str类型
>>> a = ['1','2','3']
>>> '+'.join(a)
'1+2+3'
21、lower()
字符串中的大写字母转换为小写字母
>>> name="LuoAHong">>> name.lower()'luoahong'>>>
22、upper()
字符串中的小写字母转换为大写字母
>>> name="LuoAHong">>> name.upper()'LUOAHONG'
23、strip()
去掉左右两边的空格(space)和回车(\n)
>>> name= " \n luoahong \n">>> name.strip()'luoahong'
24、lstrip()
删掉左边到右的空格(space)和回车(\n)
>>> name= " \n luoahong \n">>> name.lstrip()'luoahong \n'
25、rstrip()
删掉右边到左边的空格(space)和回车(\n)
>>> name= " \n luoahong \n">>> name.rstrip()' \n luoahong'
至此,方法前有l(left)和r(right)的函数,都是对之前函数的一个扩展,带l的表示至始至终从右到左操作,记住左边才是最终目的地,而带r的至始至终都是从左到右,因为右边才是它的终极目标
26、split()
分割函数,默认是以空格分割(space)生成一个列表,如果其他字符分割,输入其他字符参数
>>> name="ahong luo"
#默认为空,按空格分割>>> name.split()['ahong', 'luo']>>> name="ahong+luo"
#以"+"字符分割
>>> name.split("+")['ahong', 'luo']
#以'\n'分割>>> name="ahong\nluo">>> name.split("\n")['ahong', 'luo']
27、splitlines()
以换行符分割,这个一般在windows上开发,移到Linux上执行,或者在Linux上开发,移到Windows上执行,因为换行在windows上是"\r\n",linux上是'\n'
>>> name="ahong\nluo">>> name.splitlines()['ahong', 'luo']
28、swapcase()
把大写换成小写,把小写换成大写
>>> name="Luo">>> name.swapcase()'lUO'
29、startswith(prefix, start=None,end=None)
判断是否以prefix开始,是返回True,否返回Fales
prefix:表示字符或者字符或者字符串,start:开始位,end:结束位,start和end默认为空是,表示从整个字符串的结尾去判断
>>> name="ahong luo">>> name.startswith("luo")#开头找到"luo"字符串False>>> name.startswith("h",3,5)#在索引3到5之间没有找到以字符'h'开头False
30、replace(old,new[, max])
old:将被替换的子字符串; new:新字符串,用于替换old子字符串;max:可选字符串, 替换不超过 max 次
>>> name="wo shi luo a hong">>> name.replace("shi","bushi")'wo bushi luo a hong'
#原字符串没有改变>>> name.replace("shi","bushi",0)'wo shi luo a hong'>>> name.replace("shi","bushi",1)'wo bushi luo a hong'
31、zfill(width)
字符的长度是否大于等于(>=)with,如果比width小,则在字符串钱用0填充,如果>=width,则返回原字符串
>>> name="luoahong">>> len(name)8
#width大于字符串长度>>> name.zfill(11)'000luoahong'
#width小于等于字符串长度>>> name.zfill(8)'luoahong'>>>
来源:https://www.cnblogs.com/luoahong/p/7171938.html


猜你喜欢
- 前言对于使用Vue的前端而言,watch、computed和methods三个属性相信是不陌生的,是日常开发中经常使用的属性。但是对于它们的
- 登录百度AL开发平台在控制台选择语音合成创建应用填写应用信息在应用列表获取(Appid、API Key、Secret Key)6. 安装py
- ff默认不让改 statusopera9 测试通过ie6 测试通过这东西是给统计部门用的,分析用户习惯以改良网站布局
- pymysql的executemany使用在使用pymysql的executemany方法时,需要注意的几个问题1、在写sql语句时,不管字
- 大家在使用ASP设计用户提交表单的时候,如果涉及到网址输入框,那么相信都有可能会用到这个效果,使用正则表达式验证网址合法性。代码如下:<
- 本文实例讲述了PHP实现的获取文件mimes类型工具类。分享给大家供大家参考,具体如下:<?php/* * Copyright 201
- 学习Python的过程中,我们会遇到Excel的读写问题。这时,我们可以使用xlwt模块将数据写入Excel表格中,使用xlrd模块从Exc
- 一:关于MySQL5 MySQL5系列数据库是MySQL的最新版本的数据库,比较流行的发行版是mysql-5.0.18。MySQL 英文官方
- 本文为大家分享了pygame游戏之旅的第7篇,供大家参考,具体内容如下对car和障碍的宽高进行比较然后打印即可:if y < thin
- 撰写时间:2017.5.23一维数组1.numpy初始化一维数组a = np.array([1,2,3]);print a.shape输出的
- 一个else语句可以使用if语句结合起来。如果在if语句中的条件表达式解析为0或false值,那么else语句包含代码执行。el
- 表单的验证一直是网页设计者头痛的问题,表单验证类 Validator就是为解决这个问题而写的,旨在使设计者从纷繁复杂的表单验证中解放出来,把
- 本节内容学习帮助大家梳理神经网络训练的架构。一般我们训练神经网络有以下步骤:导入库设置训练参数的初始值导入数据集并制作数据集定义神经网络架构
- 本文实例为大家分享了Python3连接MySQL模拟转账的具体实现代码,供大家参考,具体内容如下# coding:utf8import sy
- 大部分服务器管理员知道MySQL数据库管理系统(RDBMS)是高度灵活的软件块,带有范围广阔的启动选项,可以用来修改相关行为。然而,大部分人
- 1、Set基本数据类型a、set集合,是一个无序且不重复的元素集合class set(object): ""
- 一、顺序查找算法顺序查找又称为线性查找,是最简单的查找算法。这种算法就是按照数据的顺序一项一项逐个查找,所以不管数据顺序如何,都得从头到尾地
- 使用 os 模块判断文件是否存在os.path.isfile(path)判断目录是否存在os.path.isdir(path)判断路径是否存
- 写在前面这篇文章的诞生要感谢MIT 6.284课程。在其中一节课中,谈到了多线程的协同的一些问题,其中就涉及到了channel这个概念,并由
- SQL Server有几个版本都在使用中——4.2, 6.0, 6.5, 7.0, 2000,以及2