第四周学习记录

第四周学习记录

本周学习内容:

1.分割、合并字符串:
分割:listname = str.split(sep,maxsplit)
合并:listname = string.join(iterable)
2.检索字符串
str.count(sub[,start[,end]]) sub:要检索的字符串
str.find(sub[,start[,end]])
str.index(sub[,start[,end]])
str.starswith(prefix[,start[,end]])
str.starswith(suffix[,start[,end]])
3.大小写转换
str1.lower()
str1.upper()
4.去除字符、特殊字符
strip()去除字符串左右的空格和特殊字符
str.strip([chars])
lstrip()去除字符串左侧的空格和特殊字符
rstrip()去除字符串右侧的空格和特殊字符
5.格式化字符串
str.format(args)
6.endcode()方式编码
str.endcode([encoding = "utf-8"][errors = "strict"]) 字符串 → 二进制
str.dedcode([encoding = "utf-8"][errors = "strict"]) 二进制 → 字符串
7.正则表达式
元字符、限字符、字符类、排除字符、选择字符、转义字符、分组、原生字符串
8.匹配字符串
re.match(pattern,string,[flags])
re.search(pattern,string,[flags])
9.替换字符串
re.sub(pattern,repl,string,count,flags)
10.分割字符串
re.split(pattern,repl,string,count,flags)
11.函数
def function1():
......
......

代码部分

#分割字符串

str1 = "基 操 勿 6 \n, 静 观 皆 坐 !"
print(str1.split()) #啥都不指定,就以空格来分割
print(str1.split(' ')) #规定了空格以后,可以分出空格字符
print(str1.split('\n'))

print('')
str2 = "@wyn @cj @lsm @lmy"
list1 = str2.split(' ')
for i in list1:
print(i[1:]) #输出去掉@号的好友

#合并字符串
list2 = ["wyn","cj","lsm","lmy"] #好友列表
str3 = " @".join(list2) #用" @"连接
print('@'+str3) #用加号,这样@和wyn之间没有空格的

#检索字符串
str1 = "@wyn @cj @lsm @lmy"
a=str1.count('@')
print(a)

b=str1.find("@") #find()找的是,子字符串首次出现的位置
print(b) #首次出现在0
c=str1.find("&")
print(c) #压根儿没出现,显示-1

d=str1.index('lsm') #没出现的,会显示报错
print(d)

e = str1.startswith('@') #是否以@开头
print(e)
f = str1.startswith('q')
print(f)

g = str1.endswith('lmy')
print(g)

#大小写转换
str1 = "WYN,cj,LSM,lmy"
print(str1.lower())
print(str1.upper())

username_1 = "|WYN|cj|LSM|lmy"
username_2 = username_1.lower()
reg1 = input("输入会员名称: ")
reg2 = "|" + reg1.lower() + "|" #输入的会员名转为小写
if reg2 in username_2:
print(reg2,"已经存在")
else:
print("可以注册")

#去除特殊字符
str1 = " abc def\nlg\t\r\n"
print(str1.strip()) #指定什么去除什么特殊字符
print(str1.lstrip())

#格式化字符串
template = '编号:%09d\t公司名称: %s \t 官网:http://www.%s.com' #定义模板
item = (7,"Baidu","baidu") #要转换的内容
print(template%item)

template1 = '编号:{:0>9s}\tname:{😒}\tWeb:http://www.{😒}.com'
context = template1.format("8","Baidu","baidu")
print(context)

#encode、decode方法
str1 = "野渡无人舟自横"
byte = str1.encode("GBK") #GBK编码进行转换,也可用utf-8
print(byte)

byte1 = byte.decode('gbk')
print(byte1)

#替换字符串
import re
pattern = r'1[34578]\d{9}' #模式字符串
string = "中奖号码:84978981 练习电话: 13611111111"
result = re.sub(pattern, "1**********",string) #替换字符串
print(result)
#替换危险字符
print('')
pattern = r'(ab)|(ef)|(mn)'
string = "abcd,efg,hijlkmn"
match = re.sub(pattern,"**",string)
print(match)

#匹配字符串
import re
pattern = r'mr_\w' #模式字符串,\w是匹配单词字符,所以结果匹配了个S
string = 'MR_SHOP mr_shop' #要匹配的字符串
match1 = re.match(pattern,string,re.I) #匹配字符串,re.I 不区分大小写
print(match1)
print("起始位置: ",match1.start()) #起始位置
print("结束位置: ",match1.end()) #结束位置
print("匹配数据",match1.group()) #提取数据

re.match() 能够匹配出以xxx开头的字符串

pattern = r'(13[4-9]\d{8})|(15[01289]\d{8}$)' #{n}意为:匹配前面的字符n次
mobile = "13681211111" #\d意为:匹配数字
match1 = re.match(pattern,mobile)
if match1 == None:
print(moblie,"Not 中国移动")
else:
print(mobile,"是中国移动")

re.search() 能够匹配出包含有xxx的字符串(任意位置,一个)

pattern = r'(攻击)|(蠕虫)|(特洛伊)'
str1 = "我使用ruchong病毒进行网络gongji。"
match = re.search(pattern,str1)
if match == None:
print(match,"@无危险字符")
else:
print(match,"@有危险字符")

re.findall() 能够匹配出所有包含有xxx的字符串

pattern = r'(攻击)|(蠕虫)|(特洛伊)'
str1 = "我使用ruchong病毒进行网络gongji。"
match = re.search(pattern,str1)
if match == None:
print(match,"@无危险字符")
else:
print(match,"@有危险字符")

分割

import re
pattern = r'[?|&]' #分隔符?和&
url = "http://www.mingrisoft.com/login.jsp?username='mr'&passwoed='mrsoft'"
result = re.split(pattern,url)
print(result)

场景@好友

print('')
str1 = "@wyn @cj @lsm @lmy"
pattern = r'\s@' #\s以为空白符,*意为前面的字符来了一次或多次
list1 = re.split(pattern,str1)
print(list1) #输出的是个列表,可利用for()语句输出每一个项

#函数

替换字符

def filterchar(string):
'''功能:过滤危险字符,输出
sting:要过滤的字符串
没返回值
'''
import re
pattern = r'(黑客)|(蠕虫)'

match = re.sub(pattern,'**',string) #string是函数的参数
print(match)

def empty():
pass #空函数

news = "俺要当黑客"
filterchar(news)
news1 = "俺要学蠕虫病毒"
filterchar(news1)

每日一贴

def function1():
'''每日一贴'''
import datetime #日期时间类
mot = ["Today is Monday: \nGood morning!",
"Today is Tuesday: \nGood morning!",
"Today is Wedsday: \nGood morning!",
"Today is Thursday: \nGood morning!",
"Today is Friday: \nGood morning!",
"Today is Saturday: \nGood morning!",
"Today is Sunday: \nGood morning!"]
day = datetime.datetime.now().weekday() #获取当前星期(用的是0-6)
print(mot[day])

function1()

posted @ 2020-08-02 22:21  wuang123  阅读(95)  评论(0编辑  收藏  举报