python掌握字符串只需这一篇就够了

 更新时间:2021年11月10日 08:56:54   作者:微小冷  
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。创建字符串很简单,只要为变量分配一个值即可

四大前缀

除了普通的字符串,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'

大小写转化

大小写转化 说明 示例 结果
capitalize() 首字母转大写 'i love u'.capitalize() ‘I love u'
upper() 所有字母转大写 'I love u'.upper() ‘I LOVE U'
lower() 所有字母转小写 'I LOVE U'.lower() ‘i love u'
title() 单词首字母大写 'i love u'.title() ‘I Love U'
swapcase() 大小写翻转 'I Love U'.swapcase() ‘i lOVE u'
casefold() 超级大写转小写 'Γ'.casefold() ‘γ'

空格调整函数

其中输入w表示将字符长度调整为w,如未作说明,则其余位置补充为空格。

空格调整 说明 示例 结果
center(w) 调整后原字符串居中 'Love'.center(6) ' Love '
ljust(w) 调整后原字符串居左 'Love'.ljust(6) 'Love '
rjust(w) 调整后原字符串居右 'Love'.rjust(6) ' Love'
zfill(w) 在左侧补0 '123'.zfill(6) ‘000123'
expandtabs(w) tab转为w个空格 '\ta'.expandtabs(4) ' a'

删除部分字符

s为字符串,如果为空则默认为空格。

lstrip(s) 自左删除s中的字符 'ILoveU'.lstrip('ILU') ‘oveU'
rstrip(s) 自右删除s中的字符 '\tLove\t'.rstrip() ‘\tLove'
strip(s) 执行lstrip(s)和rstrip(s) '\tLove\t'.strip() ‘Love'
removeprefix(s) 自左删除s 'ILoveU'.removeprefix('ILU') ‘ILoveU'
removesuffix(s) 自右删除s 'ILoveU'.removesuffix('eU') ‘ILov'

字符串判定

返回True的条件 示例 返回值
isalnum() 只包含字母或数字 'abc1'.isalnum() True
isalpha() 只含字母 'abc1'.isalpha() False
isdecimal() 只包含十进制数字 '123A'.isdecimal() False
isdigit() 只含数字 '123A'.isdecimal() False
islower() 包含字母,且均为小写 'abc1'.islower() True
isupper() 包含字母,且均为大写 '123'.isupper() False
isnumeric() 只包含数字字符 '四五'.isnumeric() True
isspace() 只含空格 'asd'.isspace() False
istitle() 首字母均大写 'I Love U'.istitle() True
isascii() 均为ASCII码 '四'.isascii() False
isidentifier() 可用作python标识符 '1asd'.isidentifier() False
isprintable() 均为可打印字符 chr(1).isprintable() False

字符串查找

下面的函数均有三个输入参数,str表示待匹配字符串,begend分别表示开头和结尾,默认为0和被匹配字符串的长度。以s.count(str, beg, end)为例,表示s[beg:end]str出现的次数。

s.count(str, beg, end) str出现的次数
s.find(str, beg, end) str首次出现的位置,如未找到则返回-1
s.rfind(str, beg, end) str最后出现的位置,如未找到则返回-1
s.index(str, beg, end) find相同,但未找到会报错
s.rindex(str, beg, end) rfind相同,但未找到会报错
s.startswith(str, beg, end) 若以str开头,则返回True
s.endswith(str, beg, end) 若以str结尾,则返回True

分割、合并和替换

s.split(str, num) s按照str进行分割,若指定num,则分割为num+1
s.rsplit(str, num) 和split相同,但从右向左开始匹配
s.splitlines([keepends]) 按行分割,若指定keepends为False,则不保留换行符
s.join(seq) s为分隔符,将seq中的字符串组合在一起
s.partition(str) s分成三份,str左边,strstr右边
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中通过:来声明数字转化为字符串之后的格式

其中,

  • ^, <, > 分别表示居中、左对齐、右对齐
  • +表示在正数前显示+,负数前显示 -
  • bdox分别是二进制、十进制、八进制、十六进制

具体示例如下

>>> from math import pi
输入 输出 描述
'{:.2f}'.format(pi) ‘3.14' 保留两位小数,四舍五入
'{:.2%}'.format(pi) ‘314.16%' 保留两位小数的百分数
'{:+.2f}'.format(1) ‘+1.00' 保留两位小数,带符号
'{:0>5d}'.format(1) ‘00001' 左侧补0,宽度为5
'{:>5d}'.format(1) ‘01' 左侧补空格,宽度为5
'{:x<5d}'.format(1) ‘1xxxx' 右侧补x,宽度为5
'{:-^5d}'.format(1) ‘–1--' 两侧补-,宽度为5
'{:,}'.format(1e5) ‘100,000.0' 逗号分隔
'{:.2e}'.format(1e5) ‘1.00e+05' 科学计数法
'{:b}'.format(8) ‘1000' 二进制

format_map

format的输入为一个字符串元组,将元组中的字符串根据索引替代字符串中的{},而format_map则直接用字典来进行格式化。

例如用元组可以做到

>>> '{} Love {}'.format("阿珍","阿强")
'阿珍 Love 阿强'

而用字典,则可以这样写

>>> '{A} Love {B}'.format_map({"A":"阿珍","B":"阿强"})
'阿珍 Love 阿强'

从而使得代码更加清晰。

到此这篇关于python掌握字符串只需这一篇就够了的文章就介绍到这了,更多相关python 字符串 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Django ORM外键查询与反向查询技巧

    Django ORM外键查询与反向查询技巧

    Django 的 ORM(对象关系映射)是其最强大的功能之一,它使得数据库操作变得直观和简洁,在复杂的数据库结构中,外键(Foreign Key)的使用及其对应的反向查询是 Django 开发中不可或缺的部分,本文将详细介绍如何在 Django 中利用外键进行数据查询以及执行反向查询
    2023-11-11
  • 分割python多空格字符串的两种方法小结

    分割python多空格字符串的两种方法小结

    这篇文章主要介绍了分割python多空格字符串的两种方法小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Python三级目录展示的实现方法

    Python三级目录展示的实现方法

    这篇文章主要介绍了Python三级目录展示的实现方法的相关资料,本文通过图文并茂的方式给大家介绍,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • Python字典fromkeys()方法使用代码实例

    Python字典fromkeys()方法使用代码实例

    这篇文章主要介绍了Python字典fromkeys()方法使用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 一文读懂Python的’=='和’is’用法

    一文读懂Python的’=='和’is’用法

    探索Python世界的'=='与'is',一个看似简单却隐藏玄机的话题,本指南将带你轻松读懂它们背后的故事,解锁编程中的这道难题,开始我们的快速之旅,释放代码的潜能吧!
    2024-01-01
  • Pandas Series如何转换为DataFrame

    Pandas Series如何转换为DataFrame

    这篇文章主要介绍了Pandas Series如何转换为DataFrame问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python+OpenCV实现在图像上绘制矩形

    Python+OpenCV实现在图像上绘制矩形

    这篇文章主要介绍了如何利用Python和OpenCV实现在图像上绘制任意大小的矩形,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下
    2022-03-03
  • Python实用日期时间处理方法汇总

    Python实用日期时间处理方法汇总

    这篇文章主要介绍了Python实用日期时间处理方法汇总,本文讲解了获取当前datetime、获取当天date、获取明天/前N天、获取当天开始和结束时间(00:00:00 23:59:59)、获取两个datetime的时间差、获取本周/本月/上月最后一天等实用方法 ,需要的朋友可以参考下
    2015-05-05
  • Python center()函数使用方法详解

    Python center()函数使用方法详解

    在python中,center()返回一个原字符居中,并默认使用空格填充至长度width返回新字符串,默认填充字符为空格,本就将通过代码示例给大家简单的介绍一下Python center()函数是的使用方法,感兴趣的同学跟着小编一起来看看吧
    2023-07-07
  • python PyQt5的窗口界面的各种交互逻辑实现

    python PyQt5的窗口界面的各种交互逻辑实现

    PyQt5是一个Python绑定库,用于Qt C++ GUI框架,它允许开发者使用Python语言创建跨平台的应用程序,并利用丰富的Qt图形用户界面功能,本文介绍了python中PyQt5窗口界面的各种交互逻辑实现,需要的朋友可以参考下
    2024-07-07

最新评论