python字符串处理以及字符串格式化

一、python字符串处理

目录:

1.算长度(len),某个元素出现的次数(count)

2.切片   [ ],repr:把不可见字符显示出来

3.查找 #find,rfind从右边查找

4.字符串和列表之间的转换(split,join list)

5.替换字符串replace   #替换会生成新的字符串,原来的字符串不变

6.类型转换

7.编码函数

二、python字符串格式化

目录:

1.填充(center、ljust,rjust,zfill)

2.设定间距,对齐方式  end="" #不换行,sep

3.字符串格式化(%,format)

一、python字符串处理

以ping百度得到的返回数据为例:

 1 myString='''正在 Ping www.a.shifen.com [220.181.112.244] 具有 32 字节的数据:
 2 来自 220.181.112.244 的回复: 字节=32 时间=27ms TTL=54
 3 来自 220.181.112.244 的回复: 字节=32 时间=36ms TTL=54
 4 来自 220.181.112.244 的回复: 字节=32 时间=42ms TTL=54
 5 来自 220.181.112.244 的回复: 字节=32 时间=36ms TTL=54
 6 
 7 220.181.112.244 的 Ping 统计信息:
 8     数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
 9 往返行程的估计时间(以毫秒为单位):
10     最短 = 27ms,最长 = 42ms,平均 = 35ms'''
11 
12 #算长度以及行数
13 print(myString)
14 print("长度为:",len(myString))
15 c=myString.count("\n")+(not myString.endswith("\n"))
16 #求行数方法二
17 #c=myString.count("\n")+[1,0][myString.endswith("\n")]
18 print("行数为:",c)
19 #查找、切片
20 print("******************查找、切片**********************")
21 print("220.181.112.244第一个IP开始的位置:",myString.find("220"))
22 start1=myString.find("220")
23 print("220.181.112.244IP结束的位置:",myString.find("]",start1))
24 end1=myString.find("]",start1)
25 print("IP地址是:",myString[start1:end1])
26 print("第一个TTL开始的位置:",myString.find("TTL"))
27 start2=myString.find("TTL")
28 print("第一个TTL结束的位置:",myString.find("\n",start2))
29 end2=myString.find("\n",start2)
30 print("TTL的值为:",myString[start2:end2].split("=")[1])

运行效果如下:

4.字符串和列表之间的转换

字符串转换为列表split、list

列表转换为字符串join

1 
承接上部分代码!!!!
#和列表之间的转换 2 print("******************和列表之间的转换**********************") 3 print("以换行符为分割转换为列表:") 4 list1=myString.split("\n") 5 print(list1) 6 print("把列表拼接为字符串:") 7 string2='\n'.join(list1) 8 print("拼接之后的字符串为:",string2) 9 print(list("12345"))

运行效果如下:

5.替换字符串replace   #替换会生成新的字符串,原来的字符串不变

1 
承接上部分代码!!!

print("*****************替换字符串***********************")
2 print("把myString字符串中ip地址全都替换为8.8.8.8:")
3 print(myString.replace("220.181.112.244","8.8.8.8"))
4 print("把myString字符串中第一个ip地址替换为8.8.8.8:")
5 print(myString.replace(myString[start1:end1],"8.8.8.8",1))
6 print("替换会生成新的字符串,原始字符没有改变:")
7 print(myString)

运行效果如下:

6.类型转换

 代码如下:

 1 #类型转化
 2 a=123
 3 b=(1,2,3)
 4 c=[1,2,3]
 5 d={1,2,1,3}
 6 e={"1":99,"2":88}
 7 f='123456'
 8 g="87.2"
 9 a1=str(a)
10 b1=str(b)
11 c1=str(d)
12 d1=str(e)
13 print(a1,type(a1),b1,type(b1),c1,type(c1),d1,type(d1))
14 print(str(a)+f)
15 print(int(f)+1)
16 print(float(g)+1)

运行效果如下:

#判断是否可以转换为整型
a="1,2,3"
print(a.isdecimal())
print(a.isdigit())
print("九".isnumeric())

7.编码函数

ord:把字符串转换为ASCII    bin:把字符串转换成二进制

oct:把字符串转换成八进制    hex:把字符串转换成16进制

二、python字符串格式化

1.填充(center、ljust,rjust,zfill)

1 print("居中填充".center(14,"-"))
2 print("左填充".ljust(15,"-"))
3 print("右填充".rjust(15,"-"))
4 print("零填充".zfill(15))

2.设定间距,对齐方式

print(1,2,3,sep="   ")

print(1,2,3,sep="\t")

3.字符串格式化

school="河河"
address="河南"
age=60
print("%-10s%-10s%-5d"%(school,address,age))
#format的用法
print("{:10s}{:10s}{:5d}".format(school,address,age))

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-01-22 19:44  雨中落叶  阅读(23279)  评论(0编辑  收藏  举报