python字符操作超全总结
在python中,字符串是数据类型之一,属于不可变序列。
- 转义字符的使用
转义字符是指使用反斜杠"\"对一些特殊字符进行转义。几个常用的转义字符如下:
\ —续行
\n —换行符
\0 —空
\t —制表符
\" —双引号
\\—反斜杠
注:在字符串前加r将会变为原始字符串。在原始字符串中,将按原样输出,而不会对转义字符进行转义
print("Hi, \nlele")
print(r"Hi, \nlele")
输出结果
Hi,
lele
Hi, \nlele
- 字母的大小写转换
char=" heLlo world" ##字符串前有空格
#字母大小写转换
print(char.title()) #title()使每个单词的首字母大写
print(char.upper()) #upper()将字符串改为全部大写
print(char.lower()) #lower()将字符串改为全部小写
输出结果
Hello World
HELLO WORLD
hello world
- 字符串截取
#截取字符串
print(char[2:8:1]) #第一个数字2表示要截取的第1个字符的索引。如果不指定参数,默认从索引0开始。
#第二个数字8表示要截取的最后一个字符的索引(不包括该字符)。如果不指定此参数,默认值为字符串的长度。
#第三个数字1表示切片的步长。如果不指定此参数,默认值为1
print(char[::]) #切片,前闭后开原则
输出结果
eLlo w
heLlo world
- 字符串拼接和分割
#拼接字符串
char0 = "\t你好,世界: " + "hello world\t" + "!\n " #利用制表符或换行符添加空白,并使用+运算符对多个字符串进行拼接,拼接对象只能是字符串
print(char0)
print(str(2023)+char0) #str()将非字符串值表示为字符串
#分割字符串为列表
#split()语法格式:str.split(sep, maxsplit)
#str表示要分割的字符串,
#sep用于指定分隔符,可包含多个字符。默认值为None,即所有空字符(制表符"\t"、空格和换行符"\n")
#maxsplit可选参数,用于指定分割次数,得到的列表元素个数为maxsplit+1
print(char0.split()) #split()以默认值分割字符串
print(char0.split("世界")) #利用多个字符进行分割
print(char0.split("l")) #利用"l"进行分割
print(char0.split(" ", 2))
输出结果
你好,世界: hello world !
2023 你好,世界: hello world !
['你好,世界:', 'hello', 'world', '!']
['\t你好,', ': hello world\t!\n ']
['\t你好,世界: he', '', 'o wor', 'd\t!\n ']
['\t你好,世界:', 'hello', 'world\t!\n ']
- 删除字符串两端的空格和特殊字符
char0 = "\thello world!\n "
print(char0)
char1 = "!. I'm fine!"
print(char1)
#删除字符串两端的空格和特殊字符
##strip()语法格式为:str.strip(chars)
#chars为可选项,用于指定删除的字符。如果不指定此参数,默认删除字符串左右两侧的空格、制表符"\t"、回车符"\r"和换行符"\n"
print(char0.strip())
print(char1.strip("!.")) #删除字符串首尾的"!"或"."
print(char0.rstrip()) #rstrip()删除字符串末尾空白
print(char1.rstrip("!.")) #删除字符串末尾的"!"或"."
print(char0.lstrip()) #lstrip()删除字符串开头空白
print(char1.lstrip("!.")) #删除字符串开头的"!"或"."
输出结果
hello world!
!. I'm fine!
hello world!
I'm fine
hello world!
!. I'm fine
hello world!
I'm fine!
- 统计字符串长度
char2 = "one two的中文意思是1,2!"
#统计字符串长度
print(len(char2)) #默认情况下,len()统计字符串长度,不区分英文、数字和汉字,所有字符都认为占一个字节
print(len(char2.encode())) #计算UTF-8编码的字符串长度。UTF-8编码时,汉字占三个字节
print(len(char2.encode("gbk"))) #计算GBK编码的字符串长度。GBK编码时,汉字占两个字节
输出结果
17
29
23
- 检索字符串(count()/index()/startswith()/endswith()语法类似)
char2 = "one two four的中文意思是1,2,4!"
#count()统计特定字符的出现次数
print(char2.count("o")) #默认情况下检索完整字符串
print(char2.count("o", 0, 6)) #0表示检索的起始位置的索引,6表示检索的结束位置的索引
print(char2.count("o", 0, 7))
#find()检索是否包含指定的字符串。如检索的字符串不存在,则返回-1。否则,返回该字符串首字符的索引
print(char2.find("two")) ##默认情况下检索完整字符串
print(char2.find("two",5,)) #5表示检索的起始位置的索引
#index检索是否包含指定的字符串,与find()类似。不同点是,如检索字符串不存在,则报错
#starstwith()检索字符串是否以特定子字符串开头。如果是,返回Ture,如果不是,返回False
print(char2.startswith("one",0,7))
print(char2.startswith("two",0,7))
#endswith()检索字符串是否以特定子字符串结尾。如果是,返回Ture,如果不是,返回False
输出结果
3
1
2
4
-1
True
False
- 字符串替换
char3 = "hello world"
print(char3.replace("hello", "Hi")) #替换
输出结果
Hi world
python字符操作超全总结的更多相关文章
- python︱字符操作杂记(split、zip...)
字符串特别是中文在python里面还是有很多需要注意的地方. . . . 一.字符串 . . 1.字符串连接 方式一:单个字符相连用 + 就可以: 方式二:list组内相连,可以用join: 方式三: ...
- Python Re 模块超全解读!
re模块下的函数 compile(pattern):创建模式对象 import repat=re.compile('A')m=pat.search('CBA') ...
- Python Re 模块超全解读
re模块下的函数 compile(pattern):创建模式对象 import re pat=re.compile('A') m=pat.search('CBA') #等价于 re.search('A ...
- Python 流程控制 超全解析(不可错过)
流程控制 程序执行结构流程 计算机程序在解决某个具体问题时,包括三种情形,即顺序执行所有的语句.选择执行部分的语句和循环执行部分语句,这正好对应着程序设计中的三种程序执行结构流程:顺序结构.选择结构和 ...
- Python 字符编码及其文件操作
本章节内容导航: 1.字符编码:人识别的语言与机器机器识别的语言转化的媒介. 2.字符与字节:字符占多少个字节,字符串转化 3.文件操作:操作硬盘中的一块区域:读写操作 注:浅拷贝与深拷贝 用法: d ...
- python文件操作与字符编码
知识内容: 1.文件对象与文件处理流程 2.基本操作 3.上下文管理 4.文件的修改与文件内光标的移动 5.字符编码 一.文件对象与文件处理流程 1.文件对象 (1)文件分类 按文件中数据的组织形式可 ...
- Python列表操作大全(非常全)
Python列表操作大全(非常全!!!) 对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们比较相似,对于python里面列表的定义可以直接用方括号里加所包含对象的方法,并且 ...
- 一份超全的Python学习资料汇总
一.学习Python必备技能图谱二.0基础如何系统学习Python?一.Python的普及入门1.1 Python入门学习须知和书本配套学习建议1.2 Python简史1.3 Python的市场需求及 ...
- 字符编码和Python代码操作文件
字符编码和Python代码操作文件 读写模式之a模式 # a模式 只追加模式 # 路径不存在:自动创建 with open(r'a.txt','a',encoding='utf8') as f: pa ...
- 超全的web开发工具和资源
首页 新闻 产品 地图 动态 城市 帮助 论坛 关于 登录 注册 · 不忘初心,继续前进,环境云V2接口正式上线 · 环境云测点地图全新改版 · 祝福各位环境云用户中秋快乐! 平台信息 培训互动 ...
随机推荐
- mysql使用保留字导致该列查不出来(mysql版本问题)
mysql版本是 问题: 如图这边groups是sql的保留字此时这样查询是查不出来的,并会报错语法错误.但是在5.几的mysql版本中这行sql就没有问题. 解决方法: 在groups列上加上'gr ...
- 异步Udp监听关闭 出现异常,访问已释放的资源或者其他错误的解决方法
在开发异步Udp程序的过程中,通常在关闭UDP的时候回遇到诸如socket 访问已释放的资源之类的异常,如下简单操作下: 1 Udp的监听 2 this.serverSocket = new Sock ...
- developer mode
PS C:\Windows\system32> reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersio ...
- java循环中的break和continue的小笔记
代码1: for(int i=0;i<10;i++){ System.out.println(i); continue; System.out.println("flag") ...
- yii 自定义form样式适应现成模板
需求:想使用下边的样式但是使用yii中的表单样式会 <?= $form->field($model, 'attribute_code')->textInput()->label ...
- oracle建表和sqlserver建表
oracle declare num number;begin select count(1) into num from user_all_tables where Upper(Table_Name ...
- java 与 JSON
Java 与 JSON JSON 是不同程序之间传递信息的一种格式.本文描述了 JSON 在 Java 中的应用. 目前 Java 中比较主流的相关解析工具有谷歌提供的 Gson 和阿里提供的 Fas ...
- mysql和nacos都部署在docker中,ip该写哪个
docker run -d \ -e MODE=standalone \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=172 ...
- 关于SQLServer数据库DBCC CHECKIDENT命令
在SQLServer输入数据时,碰到有主键ID需要维护时,可使用IDENT_CURRENT和CHECKIDENT命令来维护. 一般我们的用法如下: 1) 查看且如有必要更正当前标识值: ...
- Eclipse导入第四版《算法》algs4库
最近在研究<算法>,遇到algs4库导入eclipse问题,查了很多网站,都不适用,最终解决,特此记录一下.第一次写博客,有什么不足之处望各位大神纠正. 1. 首先打开eclipse软件, ...