python 第四章字符串的常见操作--小白笔记

    • 字符串的查找与替换

1.1字符串查找

find():

格式:

str.find(sub[,start[,end]])

sub代表指定要查找的子串

start:开始索引,默认为0

end:结束索引,默认为字符串长度

例如查找python中的t

word='t'
string='python'
result=string.find(word)
print(result)

这个只会找到首个字串的地址,若要找所有的,需要编程实现

1.2字符串替换

方法:replace()

作用:将当前字符串中的指定字串换成新的字串,并且返回替换后的新字符串

格式:

str.replace(old,new[,count])

old:被替换的旧字符串

new:替换旧字串的新子串

count:表示替换旧字符串的次数默认全部替换

    • 字符串的分割与拼接

2.1字符串的分割

split()方法,按照指定分隔符对字符串进行分割,返回由分割后的子串组成的列表

格式:

str.split(sep=None,maxsplit=-1)

sep:分隔符,默认为空字符

maxsplit:分割次数,默认-1,表示不限制分割

分割的时候会把分隔符删掉

string_example="The more efforts you make,the more fortune you get."
print(string_example.split())
print(string_example.split('m'))
print(string_example.split('e',2))

2.2字符串拼接

join()

格式:

str.join(iterable)

例如:

symbol='*'
world ='Python'
print(symbol.join(world))
print(world)

结果如下:

还可以使用“+”拼接类似于java

例如

start='py'
end='thon'
print(start+end)

结果

print('做'+"'''个试验'''")#里边可以含有三引号

print('再做'+'''个试验''')#单引号和三引号拼接

需要注意的是拼接分割都只是在原字符串上进行操作,但是并不会改变原字符串,只是进返回一个值而已。

    • 删除字符串的指定字符串

strip(){头尾都删}、lstrip(){头}、rstrip(){尾}

自己在下边实验的是只能删除第一个字母开始,删除指定内容

或者最后开始指定内容,如果开始给的字符串,第一个和字符串第一个不一致,则删除不了

    • 字符串大小写转换

1.upper()全部转大写

2.lower()全部转小写

3.capitalize()字符串中第一个字母转大写

4.title()字符串中每个单词的首字母转换为大写

    • 字符串对齐

str.center(width[,fillchar]):返回长度为width的字符串,原字符串居中显示

str.ljust(width[,fillchar]):返回长度为width的字符串,原字符左对齐显示

str.rjust(width[,fillchar]):返回长度为width的字符串,原字符右对齐显示

参数width表示返回字符串长度

fillchar表示:指定的字符串长度大于源字符串长度的时候的补充字符默认为空格

6.字符串元素的索引

由一个个元素依次组成的字符串,python中把这种特性的数据称之为sequence

(序列)

'浅浅的做个实验'

其实和c中的数组类似,或者字符串数组。

以上几个字的索引依次是0123456

用法如下:

test='浅浅的做个实验'
print(test[0])

结果如下:

需要注意的是不要越界,类似于数组越界

py中索引也可以是负数

我理解的是从右向左,从-1开始,依次到最后一个元素

test='浅浅的做个实验'
print(test[-1])
print(test[-7])

结果如下

负数的作用大概就是当字符串特别长的时候,我们可以用-1表示最后一个省事一点

7.字符串切片(从中切出一部分类似于-子字符串提取)

sequence特性的数据对象都支持切片操作,字符串具有sequence特性的,所以也支持切片。

切法:(第一个字的下标到最后一个字的下标加一)

字符串名字[要提取的第一个字的下标:要提取的最后一个字的下标+1]

   #  0 1 2 3 4 5 6
test='做一个切片实验'
    # -7-6-5-4-3-2-1
      
print(test[0:3])
print(test[-7:-4])

如果后边的下标省略,意思就是说一直提取到最后

   #  0 1 2 3 4 5 6
test='做一个切片实验'
    # -7-6-5-4-3-2-1
      
print(test[0:])
print(test[-7:])

前边也可以省略,意思是从第一个开始

还可以拼接下嘞

   #  0 1 2 3 4 5 6
test='做一个切片实验'
    # -7-6-5-4-3-2-1
      
print(test[:3]+test[3:])
print(test[:-4]+test[-4:])

如果都省略呢?

会全部输出,和直接print(字符串名效果一样)

   #  0 1 2 3 4 5 6
test='做一个切片实验'
    # -7-6-5-4-3-2-1
      
print(test[:])
print(test[:])

8.获取字符串长度:

内置函数len可以用来获取字符串的长度

test='一个长度实验'
print(len(test))

6.编程题

6.1找小写字母的个数

s='AbcDeFGhIJ'
count=0
for i in s:
    if 'a'<=i<='z':
        count+=1
print('小写字母个数是:%d'%count)

6.2检查字符串是否包含python若包含,将他替换成Python

s="Life is short. I use python"

s2= s.find('python')
if s2!=-1:
     s=s.replace('python','Python')
     print(s)

else:
    print(s)

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

y6y6y666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值