Python第六章--字符串及正则表达式

字符串的常用操作

字符串是Python中的不可变数据类型

方法名描述说明
str.lower()将str字符串全部转成小写字母,结果为一个新的字符串
str.upper()将str字符串全部转成大写字母,结果为一个新的字符串
str.split(sep=None)将str按照指定的分隔符sep进行分隔,结果为列表类型
str.count(sub)结果为sub这个字符串在str中出现的次数
str.find(sub)查询sub这个字符串在str中是否存在,如果不存在结果为-1,如果存在,结果为sub首次出现的索引
str.index(sub)功能与find()相同,区别在于要查询的子串sub不存在时,程序报错
str.startwith(s)查询字符串str是否以子串s开头
str.endwith(s)查询字符串str是否以子串s结尾
str.replace(old,news)使用news替换字符串s中所有的old字符串,结果是一个新的字符串
str.center(width,fillchar)字符串str字啊指定的宽度范围内居中,可以使用fillchar进行填充
str.join(iter)在iter中的每个元素的后面都增加一个新的字符串str
str.strip(chars)从字符串中去掉左侧和右侧chars中列出的字符串
str.lstrip(chars)从字符串中去掉左侧chars中列出的字符串
str.rstrip(chars)从字符串中去掉右侧chars中列出的字符串 

格式化字符串的三种方式

占位符f-stringstr.format()方法

%s:字符串格式

%d:十进制整数格式

%f:浮点数格式

Python3.6引入的格式化字符串的方式,比{}标明被替换的字符模版字符串.format(逗号分隔的参数 )

格式化字符串的详细格式

:填充对齐方式宽度,.精度类型
引导符号用于填充单个字符

<左对齐

>右对齐

^居中对齐

字符串的输出宽度数字的千位分隔符(只适用于整数和浮点数 )浮点数小数部分的精度或字符串的最大输出长度

整数类型:b\d\o\x\X\

浮点数类型:e\E\f\%

字符串的编码

将str类型转换成bytes类型,需要使用到字符串encode()方法

语法格式:

str.encode(encoding='utf-8',errors='strict/ignore/replace')

字符串的解码

将bytes类型转换成str类型,需要使用到bytes类型的decode()方法

语法格式:

bytes.decode(encoding='utf-8',errors='strict/ignore/replace')

数据的验证

数据的验证是指程序对用户输入的数据进行“合法”性验证

方法名描述说明
str.isdigit()所有字符都是数字(阿拉伯数字)
str.isnumeric()所有字符都是数字
str.isalpha()所有字符都是字母(包含中文字母)
str.isalnum()所有字符都是数字或字母(包含中文字符)
str.islower()所有字符都是小写
str.isupper()所有字符都是大写
str.istitle()所有字符都是首字母大写
str.isspace()所有字符都是空白字符(\n、\t等)

数据的处理

字符串拼接的几种方式:

使用str.join()方法进行拼接字符串

直接拼接

使用格式化字符串进行拼接

正则表达式

元字符:具有特殊意义的专用字符,例如“^”和“$”分别表示匹配的开始和结束

元字符描述说明举例结果
.匹配任意字符(除\n)'p\nytho\tn'p、y、t、h、o、\t、n
\w匹配字母、数字、下划线'python\n123'p、y、t、h、o、n、1、2、3
\W匹配非字母、数字、下划线'python\n123'\n
\s匹配任意空白字符'python\t123'\t
\S匹配任意非空白字符'python\t123'p、y、t、h、o、n、1、2、3
\d匹配任意十进制数'python\t123'1、2、3

限定符:用于限定匹配的次数

限定符描述说明举例结果
匹配前面的字符0次或1次colou?r可以匹配color或colour
+匹配前面的字符1次或多次colou+r可以匹配colour或colouu...r
*匹配前面的字符0次或多次colou*r可以匹配color或colouu...r
{n}匹配前面的字符n次colou{2}r可以匹配colouur
{n,}匹配前面的字符最少n次colou{2,}r可以匹配colouur或colouuu...r
{n,m}匹配前面的字符最少n次,最多m次colou{2,4}r可以匹配colouur或colouuur或colouuuur

其他字符

其他字符描述说明举例结果
区间字符[]匹配[]中所指定的字符

[.?!]

[0-9]

匹配标点符号点、问号、感叹号

匹配0、1、2、3、4、5、6、7、8、9

排除字符^匹配不在[] 中指定的字符[^0-9]匹配除0、1、2、3、4、5、6、7、8、9的字符
选择字符|用于匹配|左右的任意字符\d{18}|\d{15}匹配15位身份证或18位身份证
转义字符同Python中的转义字符\.将.作为普通字符使用

[\u4e00-\u9fa5]

匹配任意一个汉字
分组()改变限定符的作用

six|fourth

(sixfour)th

匹配six或fourth

匹配sixth或fourth

re模块

Python中的内置模块,用于实现Python中的正则表达式操作

函数

功能描述

re.match(pattern,string,flags=0)用于从字符串的开始位置进行匹配,如果起始位置匹配成功,结果为Match对象,否则结果为None
re.search(pattern,string,flags=0)用于在整个字符串中搜索第一个匹配的值,如果匹配成功,结果为Match对象,否则结果为None 
 re.findall(pattern,string,flags=0)用于在整个字符串搜索所有符合正则表达式的值,结果是一个列表类型
re.sub(pattern,string,flags=0)用于实现对字符串中指定子串的替换
re.split(pattern,string,flags=0)字符串中的split()方法功能相同,都是分隔字符串

总结:

字符串的常用方法:

大小写转换方法:str.lower()、str.upper()

字符串分隔方法:str.split()

检索的方法:str.count()、str.find()、str.index()

字符串判断的方法:str.startwith()、str.endwith()

字符串替换的方法:str.replace()

字符串显示方法的方法:str.center()

字符串拼接方法:str.join()

去除字符串前后字符的方法:str.strip()、str.lstrip()、str.rstrip()

格式化字符串的三种方式:

1)使用占位符进行格式化字符串

2)f-string格式化字符串

3)使用字符串的format方法进行格式化字符串

字符串编码的方法:str.encode()

字符串解码的方法:bytes.decode()

数据验证的方法:str.isdigit()、str.isnumeric()、str.isalpha()、str.isalnum()、str.islower()、str.isupper、str.istitle()、str.isspace()

数据的处理:字符串的拼接与去重

内置模块re中的常用的函数:re.match()、re.search()、re.findall()、re.sub()、re.split()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值