Python字符串详解

定义a b c供以下使用

a = 'hello world'

b = '         '

c = '123'

count 统计字符个数

res = a.count('o')

print(res)  #2

index 从左往右查找第一个定义的字符的索引,找不到报错

res = a.index('o')

print(res)  #4

rindex 从右往左查找索引,(0,8)代表索引范围,此范围顾头不顾尾(包括0,不包括6)编号还是从左往右,且空格也算一个索引!

res = a.rindex('o',0,8)

print(res) #7

 

istitle 判断字符串是否是标题:首字母大写 返回布尔类型

res = a.istitle()

print(res) #False

 

isspace 判断字符串里是否全是空格,返回布尔类型

res = b.isspace()

print(res) #True

 

isdigit 判断是否为整数,返回布尔类型

res = c.isdigit

print(res) #True

 

find 查找字符串的索引,找到就显示索引位置,找不到返回-1

res = c.find('1')

print(res) #0

 

isalnum 判断是否是数字或字母或二者的任意组合,返回布尔类型

res = a.isalnum()

print(res) # False

 

isalpha 判断是否是纯字母,返回布尔类型

res = a.isalpha()

print(res) #False

 

islower 判断是否全为小写字母,不考虑空格,返回布尔类型

isupper 判断是否全是大写字母,不考虑空格,返回布尔类型

lower 把大写字母变成小写

upper 把小写字母变成大写

 

title 把字符串变成抬头:首字母大写

res = a.title()

print(res) #Hello World

 

startswith 判断是否以...开头 返回布尔类型 endswith 判断是否以...结尾 返回布尔类型

res1 = a.startswith('h')

res2 = a.endswith('d')

print(res1) #True

print(res2) #True

 

split 从左往右把字符串切分成列表,并且可以指定切分次数,rsplit 从右往左切分

ip = '192.168.133.100'

res = ip.split('.',3)

print(res) #['192', '168', '133', '100']

 

encode 转码,decode 解码

name = '小明'

res = name.encode('utf-8')

print(res) #b'\xe5\xb0\x8f\xe6\x98\x8e'

name1 =  b'\xe5\xb0\x8f\xe6\x98\x8e'

res1 = name1.decode('utf-8')

print(res1) #小明

注:

utf-8 格式字符编码:1个中文占3个字节,生僻字会占用更多

gbk 格式的字符编码:1个中文占2个字节

用什么字符编码转码就需要用什么字符编码解开

 

format 格式化输出的三种方法

name = '张三'

age = '24'

res1 = 'my name is {},my age is {}'.format(name,age)

res2 = 'my name is {1},my age is {0}'.format(age,name) 

res3 = 'my name is {a},my age is {b}'.format(a=name,b=age)

print(res1)

print(res2)

print(res3)

 

%s %d(整数请求) %f(浮点数请求) 占位符

name1 = '张三'

age = '24'

height = '184.567'

res = 'my name is %s,my age is %s' % (name1,age)

res1='my height is %.2f' % 184.567  #%.2f 保留两位小数 四舍五入

print(res) 

print(res1) #my height is 184.57 

 

join 用于将序列中的元素以指定的字符连接生成一个新的字符串

str = "-"

seq = ("a", "b", "c")

print (str.join( seq )) #a-b-c

 

strip 去除两边的字符默认为空格,rstrip去除右边的,lstrip去除左边的

u = '====abc====='

res = u.strip('=')

print(res) #abc

 

replace 替换字符,并且可以指定替换次数

str1='192.168.13.13'

res = str1.replace('.','|',2)

print(res) #192|168|13.13

 

字符串可以拼接:相加,与数字相乘

x = '123'

y = 'abc'

print(x+y) #123abc

print(x*3)  #123123123

 

上一篇:(a+b)^n


下一篇:序列化模块