python——字符串操作

一、字符串操作概念

字符串可以看作多个字符的按照先后顺序组合,相当于就是序列结构,意味着可以对它进行遍历、切片。

遍历:逐个获取字符串的每个字符

二、访问字符串中的字符

(通过字符下标访问到字符串的每个字符)

获取字符串中的字符

#下标:字符串中字符的位置,下标从0开始为0  1 2,也可以从最后一个开始往前为-1 -2
#字符串[下标值]  获取 字符串中的字符

str_test = "hello world"

print( str_test[6] )
print( str_test[10] )

print( type(str_test[6]) ) # 类型还是字符串

输出

w
d
<class 'str'>

三、字符串中的切片

字符串[(起始位置):(结束位置):步长] 在字符串中获取的多个字符

#起始位置:从字符串的哪个下标开始 。如果省略:默认从整个字符串开始位置下标

#结束位置:到字符串的哪个下标结束,注意,结束位置是下标的数字加一。如果 省略:默认到整个字符串结束的下一个位置下标

#步长:相邻几个字符取第一个字符 。如果省略:默认步长为 1 对于步长为负数,默认位置值,开始位置为字符串最后一个字符,结束位置为第一个字符的前一个位置

#字符串切片
str_name = "wang dachui"

#切片操作

print( str_name[5:11:1] ) #创建新切片字符串
print( str_name[-6:11:1]) #等价 str_name[5:11:1]

print( str_name[5:11:4] ) #创建新切片字符串
print( str_name ) #不会修改原字符串


#有省略的切片

print( str_name[5:] ) # == str_name[5::] 通常,如果步长省略时 是把 冒号和值一起省略
print( str_name[5::4])
print( str_name[-6::4])
print( str_name[:4]) #从开始位置,一直切片到 4-1下标


#逆序切片
#步长为 负数
print( str_name[-1:-7:-1] )
print( str_name[10:4:-1] )
#对于步长为负数,默认位置值,开始位置为字符串最后一个字符,结束位置为第一个字符的前一个位置
print( str_name[::-1])

输出结果

dachui
dachui
du
wang dachui
dachui
du
du
wang
iuhcad
iuhcad
iuhcad gnaw

四、字符串的拼接

使用运算符实现字符串的拼接

+ : str1 + str2 把str1和str2 合并为一个新的字符串

* : str1 * 数字 把字符串str1 重复多次合并

str_test1 = "今天天气真热"
str_test2 = "热死了"

str_new = str_test1 + str_test2 #合并创建新的字符串,而不是在原字符串中进行修改
print(str_test1)
print(str_test2)
print(str_new)

str_test2 = str_test2 * 3 #由于重新赋值
print(str_test2)

输出结果

今天天气真热
热死了
今天天气真热热死了
热死了热死了热死了

使用python中的特定的字符串拼接函数 join

str.join

"连接字符串".join(要拼接的多个字符串组合)
str_new = " ".join( ( 今天天气真热, 重庆重庆重庆 ) )
print(str_new)
今天天气真热 重庆重庆重庆

五、其他常见字符串操作

1、获取字符串长度 len(str) 得到str的长度

str1="dccvb"
print(len(str1))

2、获取字符串中某个字符出现的位置,如果没找到,index出错

str.index(要查找的字符串【,从字符串哪里开始,到哪里结束】)

str_inform="坤坤你太美"
numb= str_inform.index("坤",0,5)
print(numb)

str.rindex(要查找的字符串【,从字符串哪里开始,到哪里结束】) #从右往左

str.find(要查找的字符串【,从字符串哪里开始,到哪里结束】)str.find获取字符串中某个字符出现的位置,如果没找到,find 返回负数 -1

str_inform="啊!坤坤你太美"
numb= str_inform.find("坤",0,5)
print(numb)

str.rfind(要查找的字符串【,从字符串哪里开始,到哪里结束】) #从右往左

3、获取字符串中对应字符出现的次数 str.count(要查找的字符串)

str_inform="啊!坤坤你太美"
numb= str_inform.count("坤")
print(numb)

4、在字符串中替换某个字符串 str.replace(原字符串,新字符串) 在 str 字符串中,把出现原字符串的位置 用新字符串替换

str_inform="啊!坤坤你太美"
numb= str_inform.replace("坤","鸡")
print(numb)

5、在字符串中分割字符串 str.split(在字符串中分割的标记字符【,分割的次数】)

str_temp="156451@qq.com 56616165@qq.com 64651115@qq.com"
str_b=str_temp.split(" ")
print(str_b)
#分割以后得到的str_b不是字符串,而是一个组合
#字符串的替换

6、判断字符串是否已某个字符串开始(判断是否包含前缀) str.startwith(前缀字符串)

str_temp="156451@qq.com 56616165@qq.com 64651115@qq.com"
str_a=str_temp.startswith("1")
print(str_a)

7、判断字符串是否已某个字符串结束(判断是否包含后缀)str.endwith(后缀字符串)

8、把字符串中小写字符转换为大写字符 str.upper()

str_inform="bcibaCIVAIC"
numb= str_inform.upper()
print(numb)

9、把字符串中大写字符转换为小写字符 str.lower()

str_inform="bcibaCIVAIC"
numb= str_inform.lower()
print(numb)

10、python字符串(编码为:utf-8) 转 字节串(字节存在 8bits) str.encode() 编码为 字节串 str.decode() 解码为 字符串

str_a="张三是帅哥"
print(len(str_a))
#字符串编码
str_b=str_a.encode("utf-8")
print(str_b)
print(type(str_a))
print(len(str_b))
#字符串解码,这里注意的是,解码的对象是我们前面编码过后的字符串
str_b=str_b.decode()
print(str_b)
print(type(str_a))
print(len(str_b))

六、总结

到此,python中关于字符串操作基本就完成了,希望大家能够举一反三

  • 22
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值