startswith()方法:匹配以指定字符开头的字符串输出匹配成功 --> 输出:True匹配不成功 --> 输出:False

In [18]: aOut[18]: 'abcda12'In [19]: a.startswith('a')Out[19]: TrueIn [20]: a.startswith('ab')Out[20]: TrueIn [21]: a.startswith('a',1,10)Out[21]: Falserfind()方法:输出字符串中指定字符的最高索引值查找字符串中匹配对应的字母,匹配输出对应字符的最高索引值;未匹配成功的,则输出-1

In [12]: a='abc123dvsasa'In [13]: a.rfind('a')Out[13]: 11In [14]: a='a12b3a'# 这里查找'a',这里有两个a字符,一个索引值为0,另一个索引值为5,所以输出最高索引值5In [15]: a.rfind('a')Out[15]: 5# 未查找到的字符,则输出-1In [16]: a.rfind('c')Out[16]: -1find()方法:输出指定字符的索引值查找匹配对应的字母,匹配成功的,则输出对应的index值;未匹配成功的,则输出-1

In [24]: aOut[24]: 'abcda12'In [25]: a.find('a')Out[25]: 0In [26]: a.find('a',1,10)Out[26]: 4In [27]: a.find('f')Out[27]: -1index()方法:输出指定字符的索引值

In [29]: aOut[29]: 'abcda12'In [30]: a.index('1')Out[30]: 5In [31]: a.index('a')Out[31]: 0In [32]: a.index('a',1,10)Out[32]: 4In [33]: a.index('b')Out[33]: 1# 如果没有这个字符,那么就会报错In [34]: a.index('f') ---------------------------------------------------------------------------ValueError Traceback (most recent call last)<ipython-input-34-a00dbfb05a0f> in <module>()----> 1 a.index('f')ValueError: substring not foundIn [35]: rindex()方法:输出字符串中指定字符的最高索引值

# 这里面'a'的索引值有两个,一个0,另一个为4,rindex()方法输出最高索引值,所以是4In [1]: a='abcda12'In [2]: a.rindex('a')Out[2]: 4In [3]: a.index('a')Out[3]: 0format()方法:格式化字符串

参考我之前写的文档详解:http://note.youdao.com/noteshare?id=b8fd204bb5e5fce46d24115167db5a9b&sub=014CADAE9F894640B156B3C1E2E7F762

In [38]: aOut[38]: 'my name is {name},age is {age}'# 指定关键字的形式赋值In [39]: a.format(name='Peng',age=23)Out[39]: 'my name is Peng,age is 23'# 按顺序的形式赋值In [40]: a = 'my name is {0},age is {1}'In [41]: a.format('Peng',23)Out[41]: 'my name is Peng,age is 23'isalnum()方法:判断字符串是否为==数字和字母==输出:字符串只有数字字母,输出为:True字符串有特殊符号的,输出为:False

In [3]: a = 'abc123'In [4]: a.isalnum()Out[4]: TrueIn [5]: a = 'abc123\#'In [6]: a.isalnum()Out[6]: FalseIn [7]: a = '123'In [8]: a.isalnum()Out[8]: TrueIn [9]: a = 'abcA'In [10]: a.isalnum()Out[10]: Trueisalpha()方法:判断字符串是否为==纯字母或者中文==输出:字符串为纯字母,则输出:True字符串包含数字等其他字符,则输出:False

In [21]: a='advsd'In [22]: a.isalpha()Out[22]: TrueIn [23]: a='advsd#@'In [24]: a.isalpha()Out[24]: FalseIn [25]: a='advsd123'In [26]: a.isalpha()Out[26]: FalseIn [27]: a='123'In [28]: a.isalpha()Out[28]: Falsepycharm测试:a='中'v = a.isalpha()print(v) --> Trueisdigit()方法:判断字符串是否为==纯数字==输出:字符串为纯数字或者为②的,则输出:True字符串包含字母等其他字符或者中文数字如二等等,则输出:False

In [42]: aOut[42]: '1'In [43]: a.isdigit()Out[43]: TrueIn [44]: a='123'In [45]: a.isdigit()Out[45]: TrueIn [46]: a='123a'In [47]: a.isdigit()Out[47]: FalseIn [48]: a='123#'In [49]: a.isdigit()Out[49]: Falselower()方法:将字符串中的大写字母转换成小写字母

In [1]: a='Abc'In [2]: a.lower()Out[2]: 'abc'In [3]: a='123'In [4]: a.lower()Out[4]: '123'In [5]: a='ABC'In [6]: a.lower()Out[6]: 'abc'In [7]: a='Abc123'In [8]: a.lower()Out[8]: 'abc123'islower()方法:判断字符串中的字母是否为==全部小写字母==

注意:有些字符串中包含数字,但是该方法只判断字符串中的字母是否是小写,与数字无关,只要字符串中的字母全部为小写,则输出True

输出:字符串中的==字母==全部为小写,只要字符串的字母全部为小写,那么输出就为True字符串中有大写字母,则输出为False

In [1]: a='123'In [2]: a.islower()Out[2]: FalseIn [3]: a='abc'In [4]: a.islower()Out[4]: TrueIn [5]: a='Abc'In [6]: a.islower()Out[6]: FalseIn [7]: a='123a'In [8]: a.islower()Out[8]: Trueupper()方法:将字符串中的小写字母全部转换成大写字母

In [1]: a='abc'In [2]: a.upper()Out[2]: 'ABC'In [3]: a='123a'In [4]: a.upper()Out[4]: '123A'isupper()方法:判断字符串中的字母是否==全部为大写字母==

注意:有些字符串中包含数字,isupper()方法只匹配该字符串中的==字母==,只要字母全部为大写,那么输出就为True

输出:字符串中的字母全部为大写,则输出True反之则为False

In [5]: aOut[5]: '123a'In [6]: a.isupper()Out[6]: FalseIn [7]: a='ABC'In [8]: a.isupper()Out[8]: TrueIn [9]: a='Ab'In [10]: a.isupper()Out[10]: FalseIn [11]: a='123A'# 字符串中的字母都为大写,那么就输出True,虽然包含数字,但是不影响In [12]: a.isupper()Out[12]: Truetitle()方法:将字符串首字母大写

In [1]: a='abc'In [2]: aOut[2]: 'abc'In [3]: a.title()Out[3]: 'Abc'In [4]: a='123a'# 可以看到虽然a不是在首位,数字在首位,但是对于字母来说,a就是第一个字母,所以title()方法将其转换成大写字母In [5]: a.title()Out[5]: '123A'istitle()方法:判断字符串的首字母==是否大写==

注意:有些字符串中会包含数字,有些是以数字开头的,使用istitle()方法的时候是匹配到的第一个字母为大写(前面如果有数字,直接忽略),则输出为True

输出:首字母大写,则输出True反之则输出False

In [1]: a='abc'In [2]: a.istitle()Out[2]: FalseIn [3]: a='Abc'In [4]: a.istitle()Out[4]: True# 虽然这里是数字开头,但是该方法只针对字母,出现的第一个字母为大写,则输出TrueIn [5]: a='123A'In [6]: a.istitle()Out[6]: Trueisspace()方法:判断字符串是否全部为空格

字符串内容必须全部为空格类的,则输出True;

In [1]: a='abc'In [2]: a.isspace()Out[2]: FalseIn [3]: a=' abc'In [4]: a.isspace()Out[4]: FalseIn [5]: a='\nabc'In [6]: a.isspace()Out[6]: FalseIn [7]: a='\n'In [8]: a.isspace()Out[8]: TrueIn [9]: a='\t'In [10]: a.isspace()Out[10]: TrueIn [11]: a=' 'In [12]: a.isspace()Out[12]: TrueIn [13]: a=' 'In [14]: a.isspace()Out[14]: True# 没有值的时候,也为FalseIn [15]: a=''In [16]: a.isspace()Out[16]: Falseexpandtabs()方法:遇到\t的时候断句

作用:制作表格的时候使用这个方法

In [1]: a='username\tpasswd\tport\tlist'# 这里20为字符串内容的字符数,例如a='abc',那么这里就只有3个字符。不够20个,则以空格填补In [2]: a.expandtabs(20)Out[2]: 'username passwd port list'In [3]: a = "username\temail\tpassword\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123"In [4]: a.expandtabs()Out[4]: 'username email password\nlaiying ying@q.com 123\nlaiying ying@q.com 123\nlaiying ying@q.com 123'swapcace()方法:字符串中字母的大小写转换

In [1]: a='AbcDeF'In [2]: a.swapcase()Out[2]: 'aBCdEf'In [3]: a='123aAb'In [4]: a.swapcase()Out[4]: '123AaB'zfill()方法:右对齐,位数不够的填充0

In [7]: a='abc'In [8]: a.zfill(10)Out[8]: '0000000abc'In [9]: a.zfill(20)Out[9]: '00000000000000000abc'strip()方法:去除字符串两边空格,也可以指定去除的字符

In [1]: a=' abcdefx'In [2]: aOut[2]: ' abcdefx'In [3]: a.strip()Out[3]: 'abcdefx'# 指定移除的字符串In [4]: a.strip('fx')Out[4]: ' abcde'In [5]: a.strip(' a')Out[5]: 'bcdefx'In [6]: a.strip('x')Out[6]: ' abcdef'In [7]: a = 'abc'In [8]: a.strip('c')Out[8]: 'ab'# 指定去除字符a和cIn [9]: a.strip('ac')Out[9]: 'b'lstrip()方法:移除左边的空格,也可以指定移除的字符

In [7]: aOut[7]: ' abcdefx'In [8]: a.lstrip()Out[8]: 'abcdefx'In [9]: a.lstrip(' abcd')Out[9]: 'efx'rstrip()方法:移除右边的空格,也可以指定移除的字符

匹配字符串规则为:最多匹配

In [19]: a='ab123cd 'In [20]: a.rstrip()Out[20]: 'ab123cd'# 匹配字符串规则如下,按匹配字符最多开始匹配,然后在单个匹配In [21]: a.rstrip(' cd')Out[21]: 'ab123'In [22]: a.rstrip(' dc')Out[22]: 'ab123'In [23]: a.rstrip(' dc321')Out[23]: 'ab'In [24]: a.rstrip(' dc321a')Out[24]: 'ab'In [25]: a.rstrip(' dc321ab')Out[25]: ''replace()方法:替换

替换字符串中的字符,可以指定替换次数

In [46]: aOut[46]: 'abc'In [47]: a='abc 123 'In [48]: aOut[48]: 'abc 123 'In [49]: a.replace(' ','*')Out[49]: 'abc*123*'In [50]: a.replace('c','\n')Out[50]: 'ab\n 123 '# 指定替换次数In [1]: a='abc123cde'In [2]: a.replace('c',' ')Out[2]: 'ab 123 de'In [3]: a.replace('c',' ',1)Out[3]: 'ab 123cde'partition()方法:指定分隔符分割,只分割一次

该方法保留了分隔符,但是不能指定分割次数,只能分割一次,需要指定分隔符

In [1]: a='abc123cde'In [2]: a.partition('c')Out[2]: ('ab', 'c', '123cde')In [3]: a.partition('b')Out[3]: ('a', 'b', 'c123cde')# 括号内只能输入一个实参,也就是一个参数In [4]: a.partition('c',2)---------------------------------------------------------------------------TypeError Traceback (most recent call last)<ipython-input-4-cecaf7a153f7> in <module>()----> 1 a.partition('c',2)TypeError: partition() takes exactly one argument (2 given)rpartition()方法:从右往左进行分割

输出保留分隔符,不可以指定分割次数,只能分割一次

In [6]: aOut[6]: 'abc123cde'In [7]: a.partition('c')Out[7]: ('ab', 'c', '123cde')In [8]: a.rpartition('c')Out[8]: ('abc123', 'c', 'de')split()方法:指定分隔符分割,输出不包含分隔符

可以分割多次,也可以指定分割次数,但是不保留分隔符

In [6]: a = 'abc'In [7]: a.split('c')Out[7]: ['ab', '']# 可以看到,作为分隔符的'b'是没有输出的In [8]: a.split('b')Out[8]: ['a', 'c']In [9]: a='abc 123c'# 不指定分隔符的时候是默认按空格分割的In [10]: a.split()Out[10]: ['abc', '123c']# 指定分隔符'c',遇到字符'c'就会分割一次,这里有两个'c',所以分割两次,产生三个元素In [11]: a.split('c')Out[11]: ['ab', ' 123', '']# 也可以指定分割次数,这里指定分割次数为1In [12]: a.split('c',1)Out[12]: ['ab', ' 123c']splitlines()方法:按照==换行符\n==进行分割

splitlines()方法的分隔符:为换行符\n,不可以指定分隔符

splitlines()方法:括号内只能填True或者FalseTrue:保留换行符\nFalse:默认不填为False,不保留分隔符

In [16]: a='abc\n123c'# 默认括号内不写,则为FalseIn [17]: a.splitlines()Out[17]: ['abc', '123c']# 是否保留分隔符,分隔符是\nIn [18]: a.splitlines(True)Out[18]: ['abc\n', '123c']In [19]: a='abc\n123c\nde'In [20]: a.splitlines()Out[20]: ['abc', '123c', 'de']In [21]: a.splitlines(True)Out[21]: ['abc\n', '123c\n', 'de']In [22]: a.splitlines(False)Out[22]: ['abc', '123c', 'de']rsplit()方法:指定分隔符,从右往左分割

可以指定分割次数,可以进行多次分割,输出不保留分隔符

In [12]: aOut[12]: 'abc123cde'In [13]: a.rsplit('c')Out[13]: ['ab', '123', 'de']# 指定分割次数后,可以看出是从右往左进行分割的In [14]: a.rsplit('c',1)Out[14]: ['abc123', 'de']字符串切片

参考链接:https://www.cnblogs.com/cedrelaliu/p/6004352.html

In [1]: a='abcd'# 单个字符输出的,字符串索引值从0开始算起In [2]: a[0]Out[2]: 'a'In [3]: a[1]Out[3]: 'b'In [4]: a[2]Out[4]: 'c'In [5]: a[3]Out[5]: 'd'# 输出整个字符串的In [6]: a[:]Out[6]: 'abcd'In [7]: a[0:]Out[7]: 'abcd'# 输出指定位置到结尾的字符串In [8]: a[1:]Out[8]: 'bcd'In [9]: a[2:]Out[9]: 'cd'In [10]: a[-2:]Out[10]: 'cd'# 倒序过来就是-1表示的最后一位字符,同理可得其他的In [11]: a[-1]Out[11]: 'd'In [12]: a[-2]Out[12]: 'c'In [13]: a[-3]Out[13]: 'b'In [14]: a[-4]Out[14]: 'a'# 指定输出指定位置的字符In [15]: a[0:3]Out[15]: 'abc'In [16]: a[0:2]Out[16]: 'ab'# 指定输出不包含最后一位的字符串In [17]: a[0:-1]Out[17]: 'abc'