1.字符串常用操作
(1)字符串的分割取值
在python3中,常常会遇到打开一个文件,对这个文件 进行操作,而实际操作中怎么在字符串中进行取到对于的值。
如上图的文件。
先打开文件
with open(file,'r',encoding='utf-8')as f
line=ff.readlines()
文件打开之后,可以进行for循环 循环每一行得到我们想要的内容 如手机号
number_list=[]
for i in line:
number_list.append("".join(item.split(",")[-1].split("查询手机号为")).replace("\n", ""))
第几个逗号,-1就是取最后一个逗号后面的内容,就是手机号。split
当然后文件当中存在 空白行也可以通过strip 来进行解决
for i in line:
if i =="\n":
i.strip()
2.字符串某个 出现的次数
常常面试中问到 字符串处理的问题,如图 strings = "aabs98.,;'./" 要求打印出属于小写字母出现的次数
def StringCount():
"""打印是属于小写字母,每个字母出现次数"""
strings = "aabs98.,;'./"
dicts = dict()
for i in strings:
if i in string.ascii_lowercase:
if i in dicts:
dicts[i] += 1
else:
dicts[i] = 1
for i, (key, value) in enumerate(dicts.items()):
print(key + "=" + str(value))
上面是利用string 里面的ascii_lowercase 来进行判断 是否属于小写字母。
然后循环遍历出一个可迭代对象中的元素,如果字典没有该元素,那么就让该元素作为字典的键,并将该键赋值为1,
如果存在就将该元素对应的值加1.
当然还有一个写法 ,就是利用split 来进行取值
def StringCount1():
"""打印是属于小写字母,每个字母出现次数"""
strings = "aabs98.,;'./"
strings = strings.split("9")[:1][0]
new_list = list(strings)
dics = dict()
for i in new_list:
if i in dics:
dics[i] += 1
else:
dics[i] = 1
for i, (key, value) in enumerate(dics.items()):
print(key + "=" + str(value))
- 字典的排序,然后按照k=v的方式拼接成一个字符串
b = {"ber": "345", "gth": 'hhh', "ert": 'rrr', "aqw": 'qqq'}
"""字典按照k=v进行排序生成字符串"""
sign = ""
for i, (k, v) in enumerate(sorted(b.items())):
if i != 0:
sign += "&"
sign += k + "=" + v
print(sign)
4.一个链接里面取到参数
url = 'https://www.123456.com/captcha/netEaseSms/initOrGetReceiveMsgCount&aa=1&bb=2&cc=3'
要求打印 aa=1 bb=2 cc=3
urls = url.split("&")[1:]
for i in range(3):
print(urls[i])