Python3之字符串

基础内容

  • 创建:为变量分配一个值即可

    • 单行:‘xxx’ 或 “xxx”
    • 多行:""" 或 ‘’’
  • 访问:使用方括号来截取字符串,var[i], var[:]
  • 不支持单字符类型,单字符也作为一个字符串
  • 所有字符串都是 Unicode 字符串

转义字符

在字符串中使用特殊字符时,用反斜杠 \ 转义字符

转义字符 描述
\(在尾行时) 续行符
\\ 反斜杠
\’ 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy 代表的字符,如 \o12代表换行
\xyy 十六进制数, yy 代表的字符
\other 其它的字符以普通格式输出

运算符

操作符 描述
+ 连接
* 重复
[] 通过索引获取字符
[ : ] 截取一部分,[start, end),[:]表示全部
in 包含给定字符返回True
not in 不包含给定字符返回False
r/R 原始字符串,没有转义特殊或不能打印的字符, r"xxx", r’xxx’
% 格式字符串

格式化

将一个值插入到一个有字符串格式符的字符串中
“xxxxxx” % (xx, xx, …)

  • 格式化符号:
符号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x, %X 格式化无符号十六进制数
%f 格式化浮点数字,可指定小数精度
%e, %E 用科学计数法格式化浮点数
%g %f 和 %e 的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址
  • 辅助指令
符号 描述
* 定义宽度或者小数点精度
- 左对齐
+ 在整数前面显示加号(+)
< sp > 在整数前面显示空格
# 在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)
0 显示的数字前面填充’0’
% ‘%%‘输出一个单一的’%’
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

其它:格式化字符串的函数 str.format(),通过 {} 和 : 代替 %

内建函数

  • len(str)

    • 字符串长度
  • max(str)
    • 返回字符串中的最大字符(ASCII码最大)
  • min(str)
    • 返回字符串中的最小字符(ASCII码最小)

大小写相关:

  • str.capitalize()

    • 首字符大写,其它小写
    • 若首字符非字符,则全转成小写
  • str.lower()
    • 转换所有大写字符为小写
  • str.swapcase()
    • 对字符串的大小写字母进行转换
  • str. title()
    • 所有单词都首字母大写,其它小写
  • str.upper()
    • 将字符串中的小写字母转为大写字母

填充、截取相关:

  • str.center(width, fillchar)

    • 返回指定宽度 width 居中的字符串
    • width < len(str),则返回 str
    • 使用 fillchar 填充,默认为空格
    • fillchar 为单字符
  • str.ljust(width[, fillchar])
    • 字符串左对齐,使用字符填充至指定长度
    • width < len(str), 则返回原字符串
    • fillchar:填充字符,默认为空格
  • str.rjust(width [, fillchar])
    • 字符串右对齐,使用字符填充至指定长度
    • width < len(str), 则返回原字符串
    • fillchar:填充字符,默认为空格
  • str.zfill(width)
    • 返回指定长度的字符串,原字符串右对齐,前面填充0
    • width < len(str), 则返回原字符串
    • 等同 str.rjust(width, “0”)
  • str.lstrip([chars])
    • 截掉字符串左边的空格或指定字符
  • str.rstrip([chars])
    • 截掉字符串右边的空格或指定字符
  • str.strip([chars])
    • 截掉字符串头尾指定的字符,默认为空格

查找相关:

  • str.count(sub, start=0, end=len(str))

    • 统计字符串里某字符出现的次数
    • sub 搜索的子字符串
  • str.startswidth(suffix, start=0, end=len(str))
    • 判断是否以指定后缀开头
    • suffix:一个字符串或一个元素
  • str.endswith(suffix, start=0, end=len(str)
    • 判断是否以指定后缀结尾
    • suffix:一个字符串或一个元素
  • str.find(str, start=0,end=len(str))
    • 检测是否包含子串
    • 包含则返回起始位置的索引,否则返回 -1
  • str.rfind(sub, start=0, end=len(str))
    • sub:查找的字符串
    • 返回最后一次出现的位置,没有则返回 -1
  • str.index(str, beg=0,end=len(string))
    • 作用同 find()
    • 不包含时抛出异常

替换相关:

  • str.expandtabs(tabsize=8)

    • 把字符串中的 tab 符号(’\t’)转为空格
  • str.replace(old, new [, max])
    • 将old替换成new, 不超过max次

连接、分隔:

  • str.join(seq)

    • 将序列中的元素以指定的字符连接生成一个字符串
    • str:连接的字符
    • seq:要连接的序列,包括字符串(连接单字符)、集合、元组、字典(连接 key )
    • seq 中的元素必须是字符串,否则会报错
  • str.split(splitstr="", num=string.count(str))
    • 通过指定分隔符对字符串进行切片
    • splitstr:分隔符,默认为所有空字符,包括空格、换行、制表符
    • num:分割次数,分隔为 num+1 个子字符串
  • str.splitlines([keepends])
    • 按照行(’\r’, ‘\r\n’, ‘\n’)分隔
    • 返回一个包含各行作为元素的列表
    • keepends:是否保留换行符

判断组成:

  • str.isalnum()

    • 是否由字母和数字组成
    • 至少有一个字符,且都是字母和数字,返回 True
  • str.isalpha()
    • 是否只由字母组成
    • 至少有一个字符,且都是字母,返回 True
  • str.isdigit()
    • 是否只由数字组成
    • 至少有一个字符,且都是数字,返回 True
  • str.islower()
    • 是否由小写字母组成
    • 至少有一个区分大小写字符,且其都是小写字母,返回 True
  • str.isnumeric()
    • 是否只由数字组成,仅针对 unicode 对象
    • 至少有一个字符,且都是数字,返回 True
  • str.isdecimal()
    • 检查是否只包含十进制字符,仅对 unicode 对象
  • str.isspace()
    • 是否只由空白字符组成
  • str.istitle()
    • 是否所有单词拼写均为首字母大写,其它小写
  • str.isupper()
    • 是否所有字母都大写
    • 至少一个区分大小的字符,且其都是大写,返回 True

编码相关:

  • bytes.decode(encoding=“utf-8”, errors=“strict”)

    • 以指定的编码格式解码 bytes 对象
    • errors 的可能值:‘strict’, ‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’ 以及通过 codecs.register_error() 注册的任何值
  • str.encode(encoding=‘UTF-8’, errors=‘strict’)
    • 以指定的编码格式编码 bytes 对象
    • errors 同 decode()

翻译替换:

  • (str 或 bytes 或 bytearray).marktrans(intab, outtab)

    • 创建字符映射的转换表
    • intab:字符串中要替代的字符组成的字符串
    • outtab:相应的映射字符的字符串
    • 两者长度相同,一一对应
  • (str 或 bytes 或 bytearray).translate(table[, delete])
    • 根据 table 给出的表转换字符串的字符,根据delete过滤字符
    • table:翻译表,通过maketrans()转换而来
    • delete:字符串中要过滤的字符列表
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab)str = "this is string example....wow!!!"
print (str.translate(trantab))          # th3s 3s str3ng 2x1mpl2....w4w!!!

内容来源:http://www.runoob.com/python3/python3-string.html

Python3之字符串相关推荐

  1. python3 format函数_Python学习教程:Python3之字符串格式化format函数详解(上)

    Python学习教程:Python3之字符串格式化format函数详解(上) 概述 在Python3中,字符串格式化操作通过format()方法或者f'string'实现.而相比于老版的字符串格式化方 ...

  2. 一篇文章助你理解Python3中字符串编码问题

    前几天给大家介绍了unicode编码和utf-8编码的理论知识,以及Python2中字符串编码问题,没来得及上车的小伙伴们可以戳这篇文章:浅谈unicode编码和utf-8编码的关系和一篇文章助你理解 ...

  3. Python3反转字符串

    Python3反转字符串 原题 https://leetcode-cn.com/problems/reverse-string-ii/ 题目: 给定一个字符串和一个整数 k,你需要对从字符串开头算起的 ...

  4. format函数_Python学习教程:Python3之字符串格式化format函数详解(上)

    Python学习教程:Python3之字符串格式化format函数详解(上) 概述 在Python3中,字符串格式化操作通过format()方法或者f'string'实现.而相比于老版的字符串格式化方 ...

  5. python3中字符串的切片练习

    python3中字符串的处理练习 eg1: 下面的log变量记录了云服务器上 当天上传的文件信息其中第一列是文件名,第二列是文件大小 请编写一个程序,统计出不同类型的 文件的大小总和 比如: jpeg ...

  6. Python3:字符串处理函数

    文章目录 python3-字符串基本处理 一.字符串转义和查找 二.字符串空白.数字大小写判断 三.字符串切割 四.字符串拼接 五.字符串格式化 总结 python3-字符串基本处理 基本功能处理: ...

  7. python3 python2 字符串与hex互转区别

    反复在几个环境上折腾码流的拼装解析和可读化打印,总是遇到hex字符串和bytes之间的转换,记录在这里吧. 1. 在Python2.7.x上(更老的环境真心折腾不起),hex字符串和bytes之间的转 ...

  8. python3中字符串编码常见种类_Python基础篇—标准数据类型—String字符串编码问题...

    我要开始写String编码问题了...脑壳疼.. 在String字符串的第一篇末尾有留一个坑,就是关于中文字符串编码.整个编码的故事说起来都是很费劲的,我也只能把我所知道的梳理整理一下,在日常敲码过程 ...

  9. python3 拼接字符串的7种方法

    1. 直接通过(+)操作符拼接 >>> 'Hello' + ' ' + 'World' + '!' 'Hello World!' 使用这种方式进行字符串连接的操作效率低下,因为pyt ...

最新文章

  1. 限制php解析、user_agent、php相关配置
  2. 消息模式Toast.makeText的几种常见用法
  3. js-new、object.create、bind的模拟实现【转载备忘】
  4. Spring MVC中注解 @ModelAttribute
  5. 预计2021年移动渠道将占中国网络广告支出82%
  6. java中date类型如何赋值_一文读懂java中的Reference和引用类型
  7. 最简单的kafka demo案例
  8. 209. Minimum Size Subarray Sum 长度最小的子数组
  9. leetcode练习:292. Nim Game
  10. JS中的大括号{}和中括号[]详解
  11. python实现一个简单的图片浏览器
  12. C语言获取系统时间的几种方式 !
  13. html+css前端面试题(一)
  14. Nantian PR-2/K10打印机的安装及配置方法
  15. 免费在线汉信码识别(Online Hanxin Decoder)
  16. CTF·WEB入门之路
  17. java评论回复表设计_评论回复功能数据表设计
  18. xmanager使用教程
  19. rk3568 LTE(EC20--GPS)
  20. 开发高性能的Socket服务器

热门文章

  1. 专利申请模板各个内容的例子
  2. Java通过DBCP连接池方法实现JDBC代码案例
  3. 日常记录1_电池_接收机_BEC_飞控
  4. 前台到后台的一些问题
  5. java后台开发工程师
  6. (附源码)计算机毕业设计SSM银行招聘系统设计
  7. 2021-12-11 WPF面试题 WPF中的命令设计模式是什么
  8. 远程控制电脑软件哪个好用?
  9. 阿里达摩院 | 基于预训练语言模型的行业搜索
  10. 仿百度医生的智能分诊界面