python基础知识之字符串

字符串

凡是用引号(包括单引号、双引号、三引号引起来的都是字符串,其中单引号和双引号没有任何区别,可嵌套使用,多因好用于创建多行字符串,并且可赋值给变量)

字符串的索引与切片

a = ‘abcdefghijklmn’

print(a[2])

字符串的索引从0开始,所以输出c

print(a[0:3])

可以进行切片操作,就是通过索引(开始位置:结束位置:步长)截取字符串的一段,形成新的字符串(左闭合,不包括结束位置的字母)

print(a[4:])

可以省略右边,省略时截取后面全部

print(a[:7])

也可以省略左边,从开始截取

print(a[1:6:2])

可以添加步长

print(a[::4])

甚至开始位置和结束位置省略,只保留步长

print(a[-1:2:-2])

-1代表最后一个字符,字段为-2表示逆向以步长为2的方式截取 此时输出为“倒序”

字符串的常用方法:

x = ‘good JOB’

capitalize

print(x.capitalize()) 
    输出Good job,首字母大写

swapcase

print(x.swapcase()) 
    输出GOOD job,大小写翻转

title

print(x.title()) 
    Good Job,每个单词的首字母大写

center

print(x.center(20,'&'))
    &&&&&&good JOB&&&&&&,居中功能,前面参数定义输出总长度,后面参数定义以指定字符填补剩余部分
    

count

print(x.count('o'))
    计算字符串中指定字符的个数,可以切片查询(x.count('o',0,5))
x = 'a\tbcwww\tabcdefghiaaww\twee'

expandtabs

print(x.expandtabs())
    如果\t前面的字符长度不足8个,则补全8个,如果\t前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。

startswith

print(x.startswith('w',4,10))
    判断是否是以'w'开头,可以添加切片参数(4,10)从索引4到10(包括4,但不包括10),结果返回布尔值

endswith

print(x.endswith('sss',15,-3))
    判断是否以'sss'结尾,从索引15到-3(-3表示倒数第3个字符,不包括它本身)
    

find

print(x.find('u1gf',0,15))
    查找字符串中是否含有字符"ugf",可以添加切片参数,返回起始索引位置,如果找不到则返回-1
    

index

print(x.index('hnd')) 
    返回找到的元素的索引,找不到则会报错
x = 'how,old,are,you'

split

print(x.split(','))
    ['how', 'old', 'are', 'you'],以指定字符分割字符串,结果返回一个列表,列表中不含指定的字符
print(x.split(',',1))
    ['how', 'old,are,you'],可以设定以第几个指定的字符来进行分割

format

x = '刘先生'
y = '李女士'
print('{}深爱着{}'.format(x,y))
    刘先生深爱着李女士,字符串格式化,{}的数量要与format()括号中元素个数相同
print('{0}深爱着{1},但是{1}并不是真心爱{0}'.format(x,y)) 
    刘先生深爱着李女士,但是李女士并不是真心爱刘先生,可以添加索引,此时{}个数不要求与format的参数个数相同
print('{name1}深爱着{name2},并且{name2}也深爱着{name1}'.format(name1='刘先生',name2='李女士'))
    刘先生深爱着李女士,并且李女士也深爱着刘先生,可以用指定键值的方式来设定参数,要注意name1不加引号,刘先生必须加引号
print('%s深爱着%s'%('刘先生','李女士'))
    刘先生深爱着李女士,也可以用%s....%(参数)的格式来格式化字符串

strip

print(x.strip())
    去掉字符串两边的空格
print(x.strip('ab '))
    去掉字符串两边的空格和字母a、b
print(x.lstrip('ab '))
    去掉字符串左边的空格和字母a、b
print(x.rstrip('ab '))
    去掉字符串右边的空格和字母a、b

replace

print(x.replace('我','刘先生'))
    将字符串中的“我”字替换成“刘先生”
print(x.replace('我','刘先生',1))
    只将第一个“我”字替换成刘先生

is*

print(x.isalnum())

检查字符串是否由字母或者数字组成,返回真或假,注意:全字母也返回真

print(x.isalpha())

检查字符串是否由字母组成

print(x.isdigit())

检查字符串是否由数字组成
    原文作者:格瑞姆瑞坡
    原文地址: https://segmentfault.com/a/1190000016546606
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞