s = 'Hello World!'
print(s.index('W',0,9))#返回某个字母的索引值,本例返回6.没有该字母会报错,和FIND比较像,find不会报错,没找到会返回-1
print(s.isalnum())#字符串是否文字或数字,是则返回真,否则返回假。(字符串中有除开字母和数字的其他任何字符都返回假)
s.isalnum()
# False
'123aabb'.isalnum()
# True
'123!@a'.isalnum()
# False
s.isalpha()#字符串是否全部是字母,是则返回真,否则返回假(如果含有除字母以外的任何字符均返回假)
s.isdecimal()#字符串是否是整数,是则返回真,否则返回假(如果含有除数字以外的任何字符均返回假,例如0.97)
s.isdigit()#字符串是否全部是整数,是则返回真,否则返回假(如果含有除字母以外的任何字符均返回假和isdecimal一样)
.isidentifier()#是否是一个合法的变量名
'_a342'.isidentifier()
# True
'1_a342'.isidentifier()
# False
.islower()#字符串中的字母是否都是小写,
'hello world!'.islower()
# True
'Hello world!'.islower()
# False
.isnumeric()#字符串是否全部是是数字,和isdigit相同
.isprintable()#是否能被打印(linux中一切皆文件,如网卡,视频等文件无法被打印,只能打印文本文件或者字节格式的数据)
.isspace()#是否空格('\t'也是空格属性)空格返回真,否则为假
' '.isspace()
# True
'\t'.isspace()
# True
# 'aa \t b'.isspace()
False
.istitle()# 字符串是否为标题格式,(每个单词的首字母为大写)
'Hello World!'.istitle()
True
'Hello world!'.istitle()
False
'Hello 123 World!'.istitle()
True
'Hello 123 world!'.istitle()
False
s.isupper()#是否字母都是大写
'123 ASDSDF'.isupper()
True
'123 bSDSDF'.isupper()
False
.join('*')#把列表中的字符串拼接起来,用参数‘*’来分隔开(列表的元素必须是字符型数据,不能是数据型,否则报错,'\t'不能当做TAB键识别)
names = ['zhangsan','lisi']
'-'.join(names)
'zhangsan-lisi'
names = ['zhangsan','lisi'.1]
'*'.join(names)
# File "<input>", line 1 报错
ljust(self, width, fillchar=None)#把字符串从左到右拓展为width宽度,空白处用None 填充)
s = 'Hello World'
s.ljust(20,'-')
'Hello World---------'
ljust(self, width, fillchar=None)#把字符串从右到左拓展为width宽度,空白处用None 填充)
s = 'Hello World'
s.rjust(20,'*')
'*********Hello World'
strip(self, chars=None)#去掉字符串两端的‘None'字符,‘None'值默认为空格或者换行符、制表符等空白值)
1.
s
'\t nihao \n\t'
s.strip()
'nihao'
2.
s = '***nihao*'
s.strip('*')
'nihao'
lstrip( chars=None)#只去掉字符串最左边的‘None'字符,‘None'值默认为空格或者换行符、制表符等空白值)
rstrip(self, chars=None)#只去掉字符串最右左边的‘None'字符,‘None'值默认为空格或者换行符、制表符等空白值# )
maketrans(self, *args, **kwargs):#制作两个相同数量字符串对应关系表(可以理解为密码本,表中的值就是字符的ASCLL码值)
str_in = 'abcde'
str_out = '!@#$%'
table = str.maketrans(str_in,str_ourt)
table
{97: 33, 98: 64, 99: 35, 100: 36, 101: 37}
#有了对应关系,配合translate()方法可以把字符串进行替换(可以理解为翻译成密文)
s = 'hello world'
s.translate(table)
'h%llo worl$'#本例中字母e,被替换成了%,字母d,被替换成了$.
replace(self, old, new, count=None)#将字符串中的"old"字符替换成"new"字符,可以选择替换"none'次(不填none值,默认全部替换)
'hello world'
s.replace('l','k',2)
'hekko world'
s.replace('l','k')
'hekko workd
rfind(self, sub, start=None, end=None)#查找字符串最右一个"sub'字符(可以理解为最后一个),可以选择查找范围,返回索引值,找不到则返回-1
# 原理同find()方法是查找最左变字符'sub'(可以理解为第一个)返回索引值,,找不到则返回-1
s.find('o')
4
s.rfind('o')
7
rindex()#作用与rfind()一样,不同的是,找不到,程序会报错
split(self, sep=None, maxsplit=-1)#将字符串已"none"值为参考,分隔成列表,分隔后"none'值变为分隔符,maxsplit值为分割次数(none,默认为空格,maxsplit默认为全部
'hello world'
s.split()
['hello', 'world']
s.split('o',1)
['hell', ' world']
rsplit(self, sep=None, maxsplit=-1)#作用同split(),不同的是split从左往右开始分割,rsplit 从右往左开始分割,(maxsplit默认值的话,两个方法作用一样,都是全部分割。
s.rsplit('o',1)
['hello w', 'rld']
splitlines(self, keepends=None):#将字符串按行来分割成列表。
s1='\na\nb\nc\n'
s1.splitlines()
['', 'a', 'b', 'c']
startswith(self, prefix, start=None, end=None)#判断字符串是否以“prefix"值开头,可以指定范围)
s.startswith('He')
False
s.startswith('he')
True
endswith(self, prefix, start=None, end=None)#判断字符串是否以"prefix"值结束,可以指定范围)
s.endswith('ld')
True
s.endswith('ll')
False
title()#吧字符串转换成标题形式
'hello world'
s.title()
'Hello World
s.swapcase()#小写换大写,大写换小写
常用的要记住
1.sidigit()#判断是否整数
2.replace()#替换字符串
3.find()#查找某个字符,返回它的索引值
4.count()#统计某个字符的个数
5.join()#把列表中的元素,用指定字符链接成一个字符串。
6.strip()#去掉两边指定字符,默认为空白字符,如空格,换行,制表符等
7.split()#通过指定字符将字符串分割成列表,默认为空格为分隔符。
8.format()#格式化输出字符串。