本文目录一览:
Python字符串匹配的使用方法有哪些?
re.match
尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()
就返回None
。
import re
line = "this hdr-biz 123 model server 456"
pattern = r"123"
matchObj = re.match(pattern, line)
re.search
扫描整个字符串并返回第一个成功的匹配。
import re
line = "this hdr-biz model server"
pattern = r"hdr-biz"
m = re.search(pattern, line)
- Python 的
re
模块提供了re.sub
用于替换字符串中的匹配项。
import re
line = "this hdr-biz model args= server"
patt = r'args='
name = re.sub(patt, "", line)
compile
函数用于编译正则表达式,生成一个正则表达式(Pattern)对象,供match()
和search()
这两个函数使用。
import re
pattern = re.compile(r'\d+')
re.findall
在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
import re
line = "this hdr-biz model args= server"
patt = r'server'
pattern = re.compile(patt)
result = pattern.findall(line)
re.finditer
和findall
类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。
import re
it = re.finditer(r"\d+", "12a32bc43jf3")
for match in it:
print(match.group())
关于Python字符串匹配的使用方法有哪些,环球青藤小编就和大家分享到这里了,学习是永无止境的,学习一项技能更是受益终身,所以,只要肯努力学,什么时候开始都不晚。如果您还想继续了解关于python编程的学习方法及素材等内容,可以点击本站其他文章学习。
Python字符串
字符串:在Python中是作为序列存在的,序列中的元素具有从左到右的顺序,并根据他们的相对位置进行读取和储存。严格意义来说,字符串是一系列单个字符组成的序列,其他类型的序列还包括列表和元组。在一串字符两侧加上双引号或者单引号即可创建字符串。
注意:如果字符串中需要出现双引号或者单引号,则有两种方法。
1)使用转义字符(\
)进行转义。
2)将双引号和单引号配合使用,即若想打印单引号,可以使用双引号表示字符串,在字符串中只用一个单引号。反之亦然。
在一个字符串前面加上r
,则会自动为字符串中的反斜杠\
转义,使其只代表一个反斜杠\
。但是注意,原始字符串最后不能有反斜杠\
,否则会发生语法错误。如果非要在原始字符串最后加上,则可以写为\\
。
运行结果为:
有时我们需要创建一个跨行的字符串,则可以使用三引号来创建。
运行结果为:
1)可以通过len()
函数得到序列的长度。
运行结果为:
2)可以通过索引操作得到序列的各个元素值。Python中序列的索引是从0开始依次向后推移。
运行结果为:
3)Python还支持反向索引,是从最后一个向前推移的。-1
是指序列中的最后一个元素值,-len(str)
是指该序列的第一个元素值。
运行结果为:
4)序列还支持一种**分片(slice)**的操作,这是一种能够一步提取整个分片的方法。
分片可以看作是字符串中一部分提取出其中的一部分的方法。其一般形式为:X[I:J]
,表示从X
序列中取出第I
个元素到不包含第J
个元素的部分,结果为返回一个新的对象。
运行结果为:
在一个分片(slice)中,左边界默认为0。同时应注意负偏移量在分片中的边界,也应为左侧数字比右侧数字小。拷贝全部字符串的用法为str[:]
。
运行结果为:
5)作为一个序列,字符串还支持用“+”来合并字符串。
运行结果为:
6)不可变性,Python中字符串具有不可变性,在创建一个字符串之后不可以通过对其某一位置进行赋值而改变该字符串,但可以通过创建一个新的字符串并以同一个变量名命名。
运行结果为:
7)除了一般的序列操作,字符串还有一些其特有的操作方法。
如find()
方法,可以用于查找一个子字符串,可以返回该子字符串的索引值。但如果存在多个符合的子字符串,只会返回第一个索引值。如果不存在该子字符串,则返回-1。replace(S1, S2)
方法会将字符串中的S1
替换为S2
。
运行结果如下:
关于字符串,Python还有许多内置函数,可以通过调用dir()
函数来查看。
Python 字符串是什么及简单操作方法
a = '123adzvgds'
a
就是一个字符串对象。
操作就很多了,str
类型有很多内置方法,你可以到网上查一查教程,数据类型介绍,基本方法简介都有的。
认识Python中的数据类型 - 字符串
字符串是Python中最常用的数据类型,我们一般使用引号来创建字符串,创建字符串很简单,只要为变量分配一个值即可,后面 python入门教程 还会学到关于字符串的下标、切片、常用操作方法。
注意:控制台显示结果为class 'str'
,即数据类型是str
(字符串)
以前我们只是简单的用了一下字符串,比如最早学的过程中我们用了一个input()
函数,它是用来接收用户输入的数据的,收到的数据的数据类型就是字符串。只要在Python开发环境当中,接收到的数据数据类型都是字符串类型,用户输入了数据就代表我们后期会使用到它,所以就要控制接收到的字符串数据,所以字符串是Python当中最常用的数据类型。
可能仅仅一个input
说明不了什么问题,后期会学到用Python语言来控制文件的读写操作,在文件当中读取写入的数据类型都是字符串类型,所以字符串类型数据来源是多方多面的,之所以数据能够获取来是代表我们的程序要去控制它,所以避免不了要学习字符串的一些常见操作。
可能将来要学习爬虫,要从网页中爬取到我们想要的数据,爬取的数据的类型本身也是字符串类型,所以字符串类型数据来源是多方多面的,之所以数据能够获取来是代表我们的程序要去控制它,所以避免不了要学习字符串的一些常见操作。
- 一对引号字符串(单引号或双引号)
- 三引号字符串 返回结果:
- 单引号、双引号和三引号之间的区别
区别:三引号形式的字符串支持换行,并且不会添加额外的字符。
如果想打印出
I'm Python
这种格式的英文,怎么做?两种方法: 执行结果:
Python处理字符串必备方法
字符串是Python中基本的数据类型,几乎在每个Python程序中都会使用到它。
1. Slicing
slicing
切片,按照一定条件从列表或者元组中取出部分元素(比如特定范围、索引、分割值)
2. strip()
strip()
方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
在使用strip()
方法时,默认去除空格或换行符,所以#
号并没有去除。
可以给strip()
方法添加指定字符,如下所示。
此外当指定内容不在头尾处时,并不会被去除。
第一个\n
前有个空格,所以只会去取尾部的换行符。
最后strip()
方法的参数是剥离其值的所有组合,这个可以看下面这个案例。
最外层的首字符和尾字符参数值将从字符串中剥离。字符从前端移除,直到到达一个不包含在字符集中的字符串字符为止。
在尾部也会发生类似的动作。
3. lstrip()
lstrip()
移除字符串左侧指定的字符(默认为空格或换行符)或字符序列。
同样的,可以移除左侧所有包含在字符集中的字符串。
4. rstrip()
rstrip()
移除字符串右侧指定的字符(默认为空格或换行符)或字符序列。
5. removeprefix()
Python3.9中移除前缀的函数。
和strip()
相比,并不会把字符集中的字符串进行逐个匹配。
6. removesuffix()
Python3.9中移除后缀的函数。
7. replace()
把字符串中的内容替换成指定的内容。
8. re.sub()
re
是正则的表达式,sub
是substitute
表示替换。
re.sub
则是相对复杂点的替换。
和replace()
做对比,使用re.sub()
进行替换操作,确实更高级点。
9. split()
对字符串做分隔处理,最终的结果是一个列表。 当不指定分隔符时,默认按空格分隔。 此外,还可以指定字符串的分隔次数。
10. rsplit()
从右侧开始对字符串进行分隔。
11. join()
string.join(seq)
。以string
作为分隔符,将seq
中所有的元素(的字符串表示)合并为一个新的字符串。
12. upper()
将字符串中的字母,全部转换为大写。
13. lower()
将字符串中的字母,全部转换为小写。
14. capitalize()
将字符串中的首个字母转换为大写。
15. islower()
判断字符串中的所有字母是否都为小写,是则返回True
,否则返回False
。
16. isupper()
判断字符串中的所有字母是否都为大写,是则返回True
,否则返回False
。
17. isalpha()
如果字符串至少有一个字符并且所有字符都是字母,则返回 True
,否则返回 False
。
18. isnumeric()
如果字符串中只包含数字字符,则返回 True
,否则返回 False
。
19. isalnum()
如果字符串中至少有一个字符并且所有字符都是字母或数字,则返回True
,否则返回 False
。
20. count()
返回指定内容在字符串中出现的次数。
21. find()
检测指定内容是否包含在字符串中,如果是返回开始的索引值,否则返回-1。 此外,还可以指定开始的范围。
22. rfind()
类似于find()
函数,返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。
23. startswith()
检查字符串是否是以指定内容开头,是则返回 True
,否则返回 False
。
24. endswith()
检查字符串是否是以指定内容结束,是则返回 True
,否则返回 False
。
25. partition()
string.partition(str)
,有点像find()
和split()
的结合体。
从str
出现的第一个位置起,把字符串string
分成一个3 元素的元组(string_pre_str, str, string_post_str)
,如果string
中不包含str
则 string_pre_str == string
。
26. center()
返回一个原字符串居中,并使用空格填充至长度width
的新字符串。
27. ljust()
返回一个原字符串左对齐,并使用空格填充至长度width
的新字符串。
28. rjust()
返回一个原字符串右对齐,并使用空格填充至长度width
的新字符串。
29. f-Strings
f-string
是格式化字符串的新语法。
与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快!
30. swapcase()
翻转字符串中的字母大小写。
31. zfill()
string.zfill(width)
。
返回长度为width
的字符串,原字符串string
右对齐,前面填充0。
参考文献: