1.字符串常用操作

(1)字符串的分割取值

在python3中,常常会遇到打开一个文件,对这个文件 进行操作,而实际操作中怎么在字符串中进行取到对于的值。

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))


  1. 字典的排序,然后按照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])