【python】05_字符串

本文深入讲解Python中字符串的定义、特性、数据清洗、位置调整、搜索统计、分离拼接及判断转换等操作,覆盖字符串常见处理技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:这篇博文主要阐述有关文本操作的一些问题,例如拆分字符串的开头结尾匹配、去掉两边空格、搜索和替换、分离和拼接等。

1. 字符串的定义

字符串类型是 Python 里面最常见的类型。 可以简单地通过在引号间(单引号,双引号和三引号)包含字符的方式创建它。
在这里插入图片描述
a、b、c三个变量都分别被用三种方式赋值,但是这三种方式所赋值类型都为str字符串类型。

三重引号
作用一:进行多行注释
Python中单行注释是#,多行注释的时候每行都写一个#,或者采用连续的三个双引号。

作用二:定义多行字符串
为避免使用转义换行符 \n,通常会用在定义SQL语句的表达式中没有变量的时候使用.
在这里插入图片描述
字符串常用的转义符号如下:

\n:换行
\t:一个tab键
\":显示出来是"
\':显示出来是'

例如,要求我们打印 guido’s 和 “hello guido’s python”。(注意这里的’和""要显示出来)
在这里插入图片描述
再例如,要求我们输出hello python。第一行输出格式是hello换行python,第二行输出格式hello tab(即四个空格) python。
在这里插入图片描述
补充:《廖雪峰教程》练习
在这里插入图片描述
结果输出:
在这里插入图片描述
删除字符串:
字符串是不可变的,只能通过赋一个空字符串或者使用 del 语句来清空或者删除一个字符串。但是没有必要显式的删除字符串。定义这个字符串的代码结束时会自动释放这些字符串。

2. 字符串的特性

索引

s = 'hello'    //索引:0,1,2,3,4 索引是从0开始的
print(s[0])     //取到的是第一个字符h
print(s[4])     //取到的是第五个字符o
print(s[-1])    //取到的是字符串的最后一个字符o

执行效果如下:
在这里插入图片描述
切片

s = 'abcdefg'
#s[start:end:step] 从start开始,到end-1结束,步长为step(默认是1)
print(s[0:3])      //输出abc
print(s[0:6:2])   //输出ace (从a开始,到f结束,每次步长为2。“a c e “)

执行结果如下:
在这里插入图片描述

print(s[:])       //显示所有字符
print(s[:3])      //显示前3个字符
print(s[::-1])    //字符串倒序输出
print(s[1:])      //除了第一个字符之外,其他的全部显示

print(s*10)       //重复10次

print('hello '+'python')  //连接

在这里插入图片描述
成员操作符

print('he' in s)
print('abc' in s)
print('he' not in s)

在这里插入图片描述

3. 开头和结尾匹配

filename = 'sys.log'
filename.endswith('.log')        //匹配结尾
filename.startswith('sys')       //匹配开头

在这里插入图片描述
在这里插入图片描述

4. 字符串的数据清洗

可以在字符串的开始、结尾或者中间位置去掉不需要的字符,比如说空格符。譬如有些用户输入自己的用户名时会带空格。

strip()方法可以用来从字符串的开始和结尾处去掉字符。
lstrip() 和 rstrip()可以分别从左或从右侧开始执行去除字符的操作。
默认情况下这些方法去除的是空格符,但也可以指定其他的字符。
replace()字符串替换

在这里插入图片描述
在这里插入图片描述
replace()方法直接全部替换。

5.字符串的位置调整

res = 'hello'
res.center(50,'*')          //res的值以居中格式输出,总共占据50格,剩余用'*'代替
res.rjust(width)            //字符串做对齐且长度为指定宽度
res.ljust(width)            //字符串右对齐且长度为指定宽度

在这里插入图片描述
是不是要比c语言里面控制格式输出方便多了~~~

5. 搜索和统计

find(str,beg,end)       //检测str是否包含在string中,返回索引
index(str,beg,end)      //检测str是否包含在string中,返回索引,否则抛出异常
count(str,start,end)    //检测str在string中出现的次数

在这里插入图片描述
这里rs里面有python和PYTHON,find()方法帮我们查找的时候区分了大小写,匹配到要搜索的字符串后返回结果第一个字符的索引号。
在这里插入图片描述
那么如果一个字符串中,要搜索的字符串出现过很多次,如何查找呢。可以看到这里出了一个错误,lfind()这个方法当然没有啦,因为find()方法就是从左边开始搜索的;如果想从右边开始搜索的话,用rfind()方法即可。可以看到,两种方法返回的索引号是不一样的,就是因为一个是从左边开始所有,另一个是从右边开始搜索。
在这里插入图片描述
可以看到,==index()和find()的区别在于当str没有在string中时,index()会抛出异常,find()会返回-1,但并没有抛出异常。==根据需要选择所需函数。
在这里插入图片描述
count()方法统计字符在原字符串中出现的次数。

6. 分离和拼接

split(' ')       //以‘ ’内字符为分隔符切片string,默认是空格
splitlines()     //以‘\n’一行为分隔符切片string
join             //以‘ ’内字符为连接符将多个字符串拼接成一个字符串

在这里插入图片描述

split()方法可以帮助我们处理分隔符,用’.‘将ip值分离出来。
在这里插入图片描述
用’-‘也可以将date值分离出来,但如果用’*’,输出结果为未分离前的date值,因为date值里面没有这个字符,所以无法分离。

在这里插入图片描述
也可以进行反操作,将分离开的字符拼接起来。

7.字符串的判断与转换

在这里插入图片描述
其中:
title: 标题需要每一个首字母大写,e.g. Hello Python
space: 空格指的是广义的空格, e.g: \n, \t

8.字符串其他内置方法

cmp() //根据字符串的 ASCII 码值进行比较(py3取消)
len() //返回字符串的字符数 max() and min() //返回最大或者最小的字符,(按照 ASCII 码值排列)
enumerate() //枚举对象同时列出数据和数据下标
zip() //将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值