python掌握字符串只需这一篇就够了
目录
- 四大前缀
- 大小写转化
- 空格调整函数
- 删除部分字符
- 字符串判定
- 字符串查找
- 分割、合并和替换
- format格式化
- format_map
四大前缀
除了普通的字符串,python在字符串前面可以有4个前缀,即frub。其中,f字符串可将{}
中的变量转为字符串;r
表示取消转义;u
表示使用Unicode字符;b
表示采用byte
类型。
前二者最常用,示例如下
>>> f"1+1={1+1}" #f字符串 '1+1=2' >>> r"C:\abc\def" #r字符串取消转义 'C:\\abc\\def'
大小写转化
'i love u'.capitalize()
'I love u'.upper()
'I LOVE U'.lower()
'i love u'.title()
'I Love U'.swapcase()
'Γ'.casefold()
空格调整函数
其中输入w
表示将字符长度调整为w
,如未作说明,则其余位置补充为空格。
'Love'.center(6)
' Love '
'Love'.ljust(6)
'Love '
'Love'.rjust(6)
' Love'
'123'.zfill(6)
tab
转为w个空格'\ta'.expandtabs(4)
删除部分字符
s
为字符串,如果为空则默认为空格。
s
中的字符'ILoveU'.lstrip('ILU')
s
中的字符'\tLove\t'.rstrip()
'\tLove\t'.strip()
s
'ILoveU'.removeprefix('ILU')
s
'ILoveU'.removesuffix('eU')
字符串判定
'abc1'.isalnum()
'abc1'.isalpha()
'123A'.isdecimal()
'123A'.isdecimal()
'abc1'.islower()
'123'.isupper()
'四五'.isnumeric()
'asd'.isspace()
'I Love U'.istitle()
'四'.isascii()
'1asd'.isidentifier()
chr(1).isprintable()
字符串查找
下面的函数均有三个输入参数,str
表示待匹配字符串,beg
和end
分别表示开头和结尾,默认为0和被匹配字符串的长度。以s.count(str, beg, end)
为例,表示s[beg:end]
中str
出现的次数。
s.count(str, beg, end)
str
出现的次数s.find(str, beg, end)
str
首次出现的位置,如未找到则返回-1s.rfind(str, beg, end)
str
最后出现的位置,如未找到则返回-1s.index(str, beg, end)
find
相同,但未找到会报错s.rindex(str, beg, end)
rfind
相同,但未找到会报错s.startswith(str, beg, end)
str
开头,则返回Trues.endswith(str, beg, end)
str
结尾,则返回True分割、合并和替换
s.split(str, num)
s
按照str
进行分割,若指定num,则分割为num+1
段s.rsplit(str, num)
s.splitlines([keepends])
s.join(seq)
s
为分隔符,将seq
中的字符串组合在一起s.partition(str)
s
分成三份,str
左边,str
和str
右边s.rpartition(str)
partition
相同,但从右边开始s.replace(s1, s2, num)
s
中的s1
换成s2
,若指定num,则替换不超过num次除了replace
,还可以通过translate
来进行替换,区别在于translate
输入的是maketrans
建立的替换表。
>>> trans = ''.maketrans('I',"我") >>> "I Love U".translate(trans) '我 Love U'
format格式化
format
可将标识符{}
替换为元组中的值,如果{}
中未指定序号,则顺序替代。
'{} Love {}'.format('I','U') 'I Love U'
如果{}
中指定了序号,则按照序号的顺序替代
>>> '{0} Love {1}, {1} Love {0}'.format('I','U') 'I Love U, U Love I' #最近被蜜雪冰城洗脑了。。。
当然,和C语言一样,这种格式化用于数字转化的情况多一些,python中通过:
来声明数字转化为字符串之后的格式
其中,
^, <, >
分别表示居中、左对齐、右对齐+
表示在正数前显示+,负数前显示 -b
、d
、o
、x
分别是二进制、十进制、八进制、十六进制
具体示例如下
>>> from math import pi
'{:.2f}'.format(pi)
'{:.2%}'.format(pi)
'{:+.2f}'.format(1)
'{:0>5d}'.format(1)
'{:>5d}'.format(1)
'{:x<5d}'.format(1)
'{:-^5d}'.format(1)
'{:,}'.format(1e5)
'{:.2e}'.format(1e5)
'{:b}'.format(8)
format_map
format
的输入为一个字符串元组,将元组中的字符串根据索引替代字符串中的{}
,而format_map
则直接用字典来进行格式化。
例如用元组可以做到
>>> '{} Love {}'.format("阿珍","阿强") '阿珍 Love 阿强'
而用字典,则可以这样写
>>> '{A} Love {B}'.format_map({"A":"阿珍","B":"阿强"}) '阿珍 Love 阿强'
从而使得代码更加清晰。
到此这篇关于python掌握字符串只需这一篇就够了的文章就介绍到这了,更多相关python 字符串 内容请搜索hwidc以前的文章或继续浏览下面的相关文章希望大家以后多多支持hwidc!
【来源:美国cn2服务器 转载请说明出处】