python字符串方法详情

Python字符串方法有哪些(不包括魔法方法)

>>>dir(str)

'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 
'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 
'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 
'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 
'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', '
rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 
'translate', 'upper', 'zfill'

按照dir后顺序依次解释

capitalize()

#字符串首字母大写
>>> s = 'hello world !!!!!!!'
>>> s.capitalize()
'Hello world !!!!!!!'

casefold()

#casefold()方法删除字符串中存在的所有大小写区别。它用于无壳匹配,即在比较时忽略大小写。
>>> s1 = 'A'
>>> s2 = 'a'
>>> s1.casefold() == s2.casefold()

center()

#center()方法返回一个用指定字符填充的字符串。
>>> string = "Python is awesome"

1.center默认空格填充
>>> string.center(24)
'   Python is awesome    '

2.指定填充字符
>>> string.center(24,'*')
'***Python is awesome****'

count()

#count()方法返回给定字符串中子字符串的出现次数
>>> s = 'gshsnhmu,an,iu.rabrbraawnmkuiyt'
>>> s.count('u')
3
#count('str',start,end)
>>> s.count('u',0,3)
0

encode()

从Python 3.0开始,字符串存储为Unicode,即字符串中的每个字符都由代码点表示。
因此,每个字符串只是一个Unicode代码点序列.
使用string的encode()方法,您可以将非编码字符串转换为Python支持的任何编码
>>> s = 'shaw'
>>> s.encode()
b'shaw'
>>> s = '123'
>>> s.encode()
b'123'
>>> string = 'pythön!'
>>> string.encode()
b'pyth\xc3\xb6n!'

endswith() & startswith()

startswith(str,beg = 0,end = len(string))
确定string的字符串或子字符串(如果给出起始索引beg和结束索引结束)是否以substring str开头; 
如果是,则返回true,否则返回false
endswith()有三个参数:
1.suffix - 要检查的后缀的字符串或元组
2.start(可选) - 在字符串中检查后缀的开始位置
3.end(可选) - 结束位置,在字符串中检查后缀

>>> s = 'hfrwiyqiehkfnksbnvmnjfkgh'
>>> s.endswith('r',0,2)
False
>>> s.endswith('r',0,3)
True

expandtabs()

将字符串中的制表符扩展为多个空格
如果未提供tabsize,则每个选项卡默认为8个空格
>>> s = 'hh\thhh'
>>> s.expandtabs(5)
'hh   hhh'

find() & rfind()

find(str,beg = 0 end = len(string))
如果找到起始索引beg和结束索引结束,则确定str是出现在字符串中还是字符串的子字符串中
如果找到则返回索引,否则返回-1
rfind(str,beg = 0,end = len(string))
与find()相同,但在字符串中向后搜索
#区分大小写
>>> s = 'ryituowuhvnvuoIVO'
>>> s.find('o')
5
>>> s.find('O')
16
>>> s.find('e')
-1

index() & rindex()

index(str,beg = 0,end = len(string))
与find()相同,但如果未找到str则引发异常
rindex(str,beg = 0,end = len(string))
与index()相同,但在字符串中向后搜索
>>> s = 'ryituowuhvnvuoIVO'
>>> s.find('e')
-1
>>> s.index('e')
Traceback (most recent call last):
  File "<pyshell#20>", line 1, in <module>
    s.index('e')
ValueError: substring not found

is 系列函数

1.isalnum()
如果string至少包含1个字符且所有字符都是字母数字,则返回true,否则返回false
>>> s = '24u25vndgnd'
>>> s.isalnum()
True
>>> s = ' \t432535436'
>>> s.isalnum()
False
2.isalpha()
如果string至少包含1个字符且所有字符都是字母,则返回true,否则返回false
>>> s = 'hsahadhskfhsdfhdsafa2312'
>>> s.isalpha()
False
>>> s = 'dafsgs'
>>> s.isalpha()
True
3.isdigit()
如果string只包含数字,则返回true,否则返回false
>>> s = '32525252'
>>> s.isdigit()
True
4.islower()
如果string具有至少1个套管字符且所有套管字符均为小写,则返回true,否则返回false
>>> s = 'afsgsSFSGS'
>>> s.islower()
False
>>> s = 'fsgsg'
>>> s.islower()
True
5.isnumeric()
如果unicode字符串仅包含数字字符,则返回true,否则返回false
>>> s = 'fsafb24652\t'
>>> s.isnumeric()
False
>>> s = 'dr224'
>>> s.isnumeric()
False
>>> s = '2313'
>>> s.isnumeric()
True
6.isspace()
如果string仅包含空格字符,则返回true,否则返回false
>>> s = ''
>>> s.isspace()
False
>>> s = ' '
>>> s.isspace()
True
>>> s = '\t'
>>> s.isspace()
True
7.istitle()
如果string被正确“标记”则返回true,否则返回false
>>> s = 'Title TTT'
>>> s.istitle()
False
>>> s.title()
'Title Ttt'
8.isupper()
如果string至少有一个cased字符且所有cased字符都是大写,则返回true,否则返回false
>>> s = 'Tbhbdhd'
>>> s.isupper()
False
>>> s = 'FSFAFA'
>>> s.isupper()
True

join()

将序列seq中元素的字符串表示形式(连接)合并为一个字符串,并带有分隔符字符串
>>> s = 'python'
>>> s.join('hello')
'hpythonepythonlpythonlpythono'

len()

返回字符串的长度
>>> s = 'python'
>>> s.join('hello')
'hpythonepythonlpythonlpythono'
>>> s.len()
Traceback (most recent call last):
  File "<pyshell#64>", line 1, in <module>
    s.len()
AttributeError: 'str' object has no attribute 'len'
>>> len(s)
29

ljust() & rjust()

ljust(width [,fillchar])
返回一个空格填充的字符串,其原始字符串左对齐为总宽度列
rjust(width,[,fillchar])
返回一个以空格填充的字符串,其原始字符串右对齐为总宽度列
>>> s = 'ssss'
>>> s.ljust(20)
'ssss                '
>>> s.ljust(20,'*')
'ssss****************'

lower() & upper()

将字符串中的所有大写字母转换为小写
>>> s = 'ADFSGSDG'
>>> s.lower()
'adfsgsdg'
>>> s = 'AFFAdsaf'
>>> s.lower()
'affadsaf'
>>> s = 'fsfsfsga'
>>> s.upper()
'FSFSFSGA'

lstrip() & rstrip()

lstrip()
删除字符串中的所有前导空格
rstrip()可以
删除字符串的所有尾随空格。
>>> s = '       dsfs'
>>> s.lstrip()
'dsfs'

maketrans()

返回要在translate函数中使用的转换表

max()&min()

返回字符串str中的最大字母字符
>>> s = 'sfssggsbdferjm'
>>> s.max()
Traceback (most recent call last):
  File "<pyshell#76>", line 1, in <module>
    s.max()
AttributeError: 'str' object has no attribute 'max'
>>> max(s)
's'
>>> min(s)
'b'

replace()

如果给定最大值,则将所有出现的旧字符串替换为新的或最多出现次数
>>> s = 'hello'
>>> s.replace('hello','python')
'python'
>>> s
'hello'
>>> s = s.replace('hello','python')
>>> s
'python'

split() & splitnes()

split(str =“”,num = string.count(str))
根据分隔符str(如果未提供空格)拆分字符串并返回子字符串列表; 如果给出,则最多分成多个子串。
splitlines(num = string.count('\ n'))
在所有(或num)NEWLINE处拆分字符串,并返回已删除NEWLINE的每一行的列表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值