python partition只能切割一次吗_Python 字符串内置方法(二)

本文介绍了Python字符串的一些内置方法,包括startswith()、rfind()、find()、index()、rindex()、format()、isalnum()、isalpha()、isdigit()、lower()、islower()、upper()、isupper()、title()、istitle()、isspace()、expandtabs()、swapcase()、zfill()、strip()、lstrip()、rstrip()、replace()、partition()、rpartition()、split()、splitlines()和rsplit()等,详细阐述了它们的功能和用法,并通过实例演示了如何使用这些方法。
摘要由CSDN通过智能技术生成

startswith()方法:匹配以指定字符开头的字符串

输出

匹配成功 --> 输出:True

匹配不成功 --> 输出:False

In [18]: a

Out[18]: 'abcda12'

In [19]: a.startswith('a')

Out[19]: True

In [20]: a.startswith('ab')

Out[20]: True

In [21]: a.startswith('a',1,10)

Out[21]: False

rfind()方法:输出字符串中指定字符的最高索引值

查找字符串中匹配对应的字母,匹配输出对应字符的最高索引值;

未匹配成功的,则输出-1

In [12]: a='abc123dvsasa'

In [13]: a.rfind('a')

Out[13]: 11

In [14]: a='a12b3a'

# 这里查找'a',这里有两个a字符,一个索引值为0,另一个索引值为5,所以输出最高索引值5

In [15]: a.rfind('a')

Out[15]: 5

# 未查找到的字符,则输出-1

In [16]: a.rfind('c')

Out[16]: -1

find()方法:输出指定字符的索引值

查找匹配对应的字母,匹配成功的,则输出对应的index值;

未匹配成功的,则输出-1

In [24]: a

Out[24]: 'abcda12'

In [25]: a.find('a')

Out[25]: 0

In [26]: a.find('a',1,10)

Out[26]: 4

In [27]: a.find('f')

Out[27]: -1

index()方法:输出指定字符的索引值

In [29]: a

Out[29]: 'abcda12'

In [30]: a.index('1')

Out[30]: 5

In [31]: a.index('a')

Out[31]: 0

In [32]: a.index('a',1,10)

Out[32]: 4

In [33]: a.index('b')

Out[33]: 1

# 如果没有这个字符,那么就会报错

In [34]: a.index('f')

---------------------------------------------------------------------------

ValueError Traceback (most recent call last)

in ()

----> 1 a.index('f')

ValueError: substring not found

In [35]:

rindex()方法:输出字符串中指定字符的最高索引值

# 这里面'a'的索引值有两个,一个0,另一个为4,rindex()方法输出最高索引值,所以是4

In [1]: a='abcda12'

In [2]: a.rindex('a')

Out[2]: 4

In [3]: a.index('a')

Out[3]: 0

format()方法:格式化字符串

In [38]: a

Out[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]: True

In [5]: a = 'abc123\#'

In [6]: a.isalnum()

Out[6]: False

In [7]: a = '123'

In [8]: a.isalnum()

Out[8]: True

In [9]: a = 'abcA'

In [10]: a.isalnum()

Out[10]: True

isalpha()方法:判断字符串是否为==纯字母或者中文==

输出:

字符串为纯字母,则输出:True

字符串包含数字等其他字符,则输出:False

In [21]: a='advsd'

In [22]: a.isalpha()

Out[22]: True

In [23]: a='advsd#@'

In [24]: a.isalpha()

Out[24]: False

In [25]: a='advsd123'

In [26]: a.isalpha()

Out[26]: False

In [27]: a='123'

In [28]: a.isalpha()

Out[28]: False

pycharm测试:

a='中'

v = a.isalpha()

print(v) --> True

isdigit()方法:判断字符串是否为==纯数字==

输出:

字符串为纯数字或者为②的,则输出:True

字符串包含字母等其他字符或者中文数字如二等等,则输出:False

In [42]: a

Out[42]: '1'

In [43]: a.isdigit()

Out[43]: True

In [44]: a='123'

In [45]: a.isdigit()

Out[45]: True

In [46]: a='123a'

In [47]: a.isdigit()

Out[47]: False

In [48]: a='123#'

In [49]: a.isdigit()

Out[49]: False

lower()方法:将字符串中的大写字母转换成小写字母

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]: False

In [3]: a='abc'

In [4]: a.islower()

Out[4]: True

In [5]: a='Abc'

In [6]: a.islower()

Out[6]: False

In [7]: a='123a'

In [8]: a.islower()

Out[8]: True

upper()方法:将字符串中的小写字母全部转换成大写字母

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]: a

Out[5]: '123a'

In [6]: a.isupper()

Out[6]: False

In [7]: a='ABC'

In [8]: a.isupper()

Out[8]: True

In [9]: a='Ab'

In [10]: a.isupper()

Out[10]: False

In [11]: a='123A'

# 字符串中的字母都为大写,那么就输出True,虽然包含数字,但是不影响

In [12]: a.isupper()

Out[12]: True

title()方法:将字符串首字母大写

In [1]: a='abc'

In [2]: a

Out[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]: False

In [3]: a='Abc'

In [4]: a.istitle()

Out[4]: True

# 虽然这里是数字开头,但是该方法只针对字母,出现的第一个字母为大写,则输出True

In [5]: a='123A'

In [6]: a.istitle()

Out[6]: True

isspace()方法:判断字符串是否全部为空格

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

In [1]: a='abc'

In [2]: a.isspace()

Out[2]: False

In [3]: a=' abc'

In [4]: a.isspace()

Out[4]: False

In [5]: a='\nabc'

In [6]: a.isspace()

Out[6]: False

In [7]: a='\n'

In [8]: a.isspace()

Out[8]: True

In [9]: a='\t'

In [10]: a.isspace()

Out[10]: True

In [11]: a=' '

In [12]: a.isspace()

Out[12]: True

In [13]: a=' '

In [14]: a.isspace()

Out[14]: True

# 没有值的时候,也为False

In [15]: a=''

In [16]: a.isspace()

Out[16]: False

expandtabs()方法:遇到\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]: a

Out[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和c

In [9]: a.strip('ac')

Out[9]: 'b'

lstrip()方法:移除左边的空格,也可以指定移除的字符

In [7]: a

Out[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]: a

Out[46]: 'abc'

In [47]: a='abc 123 '

In [48]: a

Out[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)

in ()

----> 1 a.partition('c',2)

TypeError: partition() takes exactly one argument (2 given)

rpartition()方法:从右往左进行分割

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

In [6]: a

Out[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', '']

# 也可以指定分割次数,这里指定分割次数为1

In [12]: a.split('c',1)

Out[12]: ['ab', ' 123c']

splitlines()方法:按照==换行符\n==进行分割

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

splitlines()方法:括号内只能填True或者False

True:保留换行符\n

False:默认不填为False,不保留分隔符

In [16]: a='abc\n123c'

# 默认括号内不写,则为False

In [17]: a.splitlines()

Out[17]: ['abc', '123c']

# 是否保留分隔符,分隔符是\n

In [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]: a

Out[12]: 'abc123cde'

In [13]: a.rsplit('c')

Out[13]: ['ab', '123', 'de']

# 指定分割次数后,可以看出是从右往左进行分割的

In [14]: a.rsplit('c',1)

Out[14]: ['abc123', 'de']

字符串切片

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'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值