第四章笔记(字符串&正则表达式)

字符串
题目1:将字符串的首字母替换成z

s="abcdefg"
s2="z"+s[1:]  #s[1:]:从第二个数开始切片,一直字符串结束
print(s2)  

答案:zbcdefg

题目2:将字符串中的a替换成z

s="12345a54321" 
s1=s.index('a')
s2=s[:s1]+"z"+s[s1+1:]   #获取前后的切片
print(s2)

结果:
12345z54321

split的用法:

x=input("请输入三个整数:")
y=x.split()
a=eval(y[0])
b=eval(y[1])
c=eval(y[2])
print(a+b+c)

结果为:
请输入三个整数:12 34 56
102

x=input('input three names:')
y=x.split()   #键盘输入以空格为分隔符
print(y[2],y[1],y[0])

结果为:
input three names:jk v jimin
jimin v jk

x=input('input three names:')
y=x.split(',') #键盘输入以','为分隔符
print(y[2],y[1],y[0])

结果为:
input three names:jk,v,jimin
jimin v jk

join,map的用法:

x=[i for i in range(1,11)]
y=list(map(str,x))  #join 里的为字符串
print("+".join(y),'=',sum(x))

结果为:
1+2+3+4+5+6+7+8+9+10 = 55

正则表达式
1、查找指定字符串

import re
x='123 abc 789 ABC'
print(re.findall('[0-9]+',x))
print(re.findall('[a-z]+',x))
print(re.findall('[A-Z]+',x)) #不带+筛选的是单个字符
print(re.findall('[1-9a-z]+',x))
print(re.findall('[1-9a-zA-Z]+',x))
print(re.findall('[^1-9]+',x))      #不含1-9的字符串

#空格的用法
y='123  ,    ,  '
print(re.findall('[^\s]+',y))  #格式 re,findall('[^0-9\s]',x),筛选x中不含1-9和空格的字符串

结果为:
[‘123’, ‘789’]
[‘abc’]
[‘ABC’]
[‘123’, ‘abc’, ‘789’]
[‘123’, ‘abc’, ‘789’, ‘ABC’]
[’ abc ‘, ’ ABC’]
[‘123’, ‘,’, ‘,’]

2、写文件,并保存

alist=list(range(1,11))
blist=list(map(str,alist))
cstr='+'.join(blist)
dstr=cstr+'='+str(sum(alist))
print(dstr)
open('e:/test.txt','w').write(dstr)
import os
os.getcwd()  #默认路径
print(os.getcwd())

结果为:
1+2+3+4+5+6+7+8+9+10=55
C:\Users\bts97

3、爬虫,找字母,及单词

import urllib.request  
r=urllib.request.urlopen("http://www.baidu.com")  #打开网页
s1=str(r.read())   #读取其中的字符并转化为字符串类型
di={}
for i in set(s1):         
    di[s1.count(i)]=i     #记录键为出现的次数,值为字符
klist=list(di.keys())     #对键的集合进行排序
klist.sort(reverse=True)  #倒序排列(大的放在前面)
print(di)
print(klist[0],di[klist[0]])   #打印出现次数最多的键值对
print(klist[len(klist)-1],di[klist[len(klist)-1]])   #打印出现次数最少的键值对

import urllib.request
r=urllib.request.urlopen("http://www.baidu.com")
s1=str(r.read())
import re
s2=re.findall("[a-zA-Z]+",s1)
di1={}
for i in set(s2):
    di1[s2.count(i)]=i
blist=list(di1.keys())
blist.sort(reverse=True)
print(di1)
print(di1[blist[0]],blist[0])
print(di1[blist[len(blist)-1]],blist[len(blist)-1])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值