[快学Python3]String(字符串)
时间:2022-05-07
本文章向大家介绍[快学Python3]String(字符串),主要内容包括概述、字符串内置函数、字符连接和切割、字符串查找和替换、小结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
概述
字符串是Python中最常用的数据类型,通常我们使用引号(单引' 或 双引" 或 三引号""")来创建字符串。
在python3中,所有的字符串都是Unicode编码。
对于编程而言,大部分时间都是在做字符的处理,例如字符串连接、切割、转换、格式化等等。
下面我们如何用不同的引号来创建字符串:
a = u'我是字符串'
b = u"我是字符串"
c = """我是字符串
我是字符串
我还是字符串
"""
由上面看出,三引号括起来的字符串可以有多行。
字符串内置函数
在python中字符串内置函数提供了各种字符串处理能力,下面我们看几个常用的函数应用示例:
字符连接和切割
在python中提供了以下函数完成连接和切割功能:
- join 以指定的字符串将元组、列表中的所有的元素合并为一个新的字符串。
- split 以指定的分隔符来截取字符串,返回一个list对象
下面我们看看具体的代码示例:
# -*- coding:utf-8 -*-
__author__ = u'苦叶子'
if __name__ == "__main__":
t = ('1', '2', '3', '4', '5', 'a', 'b', "efg")
# 用 - 将t中元素合并成一个新的字符串
str_demo = '-'.join(t)
print(str_demo)
# 将str_demo以-进行切割
str_set = str_demo.split('-')
print(str_set)
# 将t中元素合并成一个新的字符串
str_demo = ''.join(t)
print(str_demo)
执行结果如下:
1-2-3-4-5-a-b-efg
['1', '2', '3', '4', '5', 'a', 'b', 'efg']
12345abefg
字符串查找和替换
在python提供了以下函数来实现查找与替换功能。
- find find(str, beg=0, end=len(string)),查找str是否包含在字符串中,若指定了beg和end,则在beg和end范围中查找,若找到则返回开始的索引值,否则返回-1
- index 同find方法,不同的是,index若未查找到,抛出一个异常信息,而不是返回-1
- rfind 同find方法,不过rfind是从右边往左边查找。
- rindex 同index方法,不过rindex是从右边往左边查找。
- repalce 将字符串中指定的子串替换成目标字符串,如果指定了替换次数,则替换不超过指定的次数
下面我们一起看下代码示例:
# -*- coding:utf-8 -*-
__author__ = u'苦叶子'
if __name__ == "__main__":
source_str = u"it's my book, please show it, wa ka ka, yo yo yo!"
# 从左往右查找yo
print(u"从左往右查找 yo")
print(source_str.find("yo"))
print(source_str.index("yo"))
# 从右往左查找yo
print(u"从右往左查找 yo")
print(source_str.find("yo"))
print(source_str.rindex("yo"))
# 替换所有的 yo
des_str = source_str.replace("yo", "ha")
print(des_str)
# 替换两次 yo
des_str = source_str.replace("yo", "ha", 2)
print(des_str)
执行结果如下
从左往右查找 yo
40
40
从右往左查找 yo
40
46
it's my book, please show it, wa ka ka, ha ha ha!
it's my book, please show it, wa ka ka, ha ha yo!
去字符串前后空格
去除字符串的空格需要用到以下三个字符串内置函数:
- lstrip 去除字符串左边的空格
- rstrip 去除字符串右边的空格
- strip 去除字符串左右两边的空格,即把lstrip和rstrip都执行一遍
# -*- coding:utf-8 -*-
__author__ = u'苦叶子'
if __name__ == "__main__":
# 去字符串空格示例
demo_str = " 我的前 后 和 中 间 都有空格 "
print(demo_str)
# 去除前面的空格
lstr = demo_str.lstrip()
print(lstr)
# 去除后面的空格
rstr = demo_str.rstrip()
print(rstr)
# 去除前后的空格
str = demo_str.strip()
print(str)
运行结果如下:
我的前 后 和 中 间 都有空格
我的前 后 和 中 间 都有空格
我的前 后 和 中 间 都有空格
我的前 后 和 中 间 都有空格
判断字符串类型
根据字符串数据来判断其类型,需要用到以下函数:
- isalnum 判断字符串是否由字母或数字组成,是则返回true,否则为false
- isalpha 判断字符串是否都是字母,是则返回true,否则为false
- isdigit 判断字符串是否都是数字,是则返回true,否则为false
- islower 判断字符串是否都是小写,是则返回true,否则为false
- isnumeric 判断字符串是否都是数字,是则返回true,否则为false
- isspace 判断字符串是否都是空格,是则返回true,否则为false
- isupper 判断字符串是否都是大写,是则返回true,否则为false
下看下上述函数的代码示例:
# -*- coding:utf-8 -*-
__author__ = u'苦叶子'
if __name__ == "__main__":
str_1 = "1234567890"
str_2 = "abcdefABCDEF"
str_3 = "12345abcdeABCDE"
str_4 = "abcdef"
str_5 = "ABCDEF"
str_6 = " "
str_7 = " sfsdf "
# isalnum
print(str_3.isalnum())
# isalpha
print(str_2.isalpha())
# isdigit
print(str_1.isdigit())
# islower
print(str_4.islower())
print(str_2.islower())
# isupper
print(str_4.isupper())
print(str_2.isupper())
# isspace
print(str_6.isspace())
print(str_7.isspace())
具体运行结果,你可以将上述代码运行查看实际结果,并可以尝试修改上述代码看看。
小结
本节并未将字符串处理的所有函数都进行实例演示,所以对于其他的函数,请参考官方文档。
- PDF.NET数据开发框架实体类操作实例(for PostgreSQL,并且解决自增问题) PDF.NET数据开发框架实体类操作实例(MySQL)
- 设计模式之代理模式
- 续谈ActiveMQ之java如何操作ActiveMQ(springBoot项目)
- 深入理解JVM原理之编译openjdk7
- 初识ActiveMQ
- Kafka集群安装
- 知其所以然之永不遗忘的算法
- ZOOKEEPER集群搭建及测试
- 【Python环境】Scikit-Learn:开源的机器学习Python模块
- 【Python环境】可爱的 Python: 自然语言工具包入门
- 电脑静音工作,又听不到12306的来票音乐,纠结啊 !但春节前工作多任务重,不能安心工作,就动手做个“无声购票弹窗”工具吧!
- .net访问PostgreSQL数据库发生“找不到函数名”的问题追踪
- “领域驱动开发”实例之旅(1)--不一样的开发模式 一、分析业务需求。 二、设计领域对象模型 三、测试领域对象模型 四、设计业务处理类 五、设计Entity和Vi
- Java基础——左移和右移
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Elasticsearch: Reindex接口
- Android Studio 更新版本之后报错: Cannot access android.arch.lifecycle.ViewModelStoreOwner
- Android各版本查询和开启悬浮窗权限
- RuntimeException: setAudioSource failed异常
- Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
- Android TV 开发之 TV视频播放器
- Android MediaPlayer 音乐播放器扫描 本地音乐、上一曲、下一曲切歌、播放本地音乐
- 1小时真正掌握正则表达式
- Android Studio 安装配置教程 - Windows(详细版)
- Android 天气APP(八)城市切换 之 自定义弹窗与使用
- Android 接入udesk SDK实现IM
- Android 天气APP(十二)空气质量、UI优化调整
- Python+selenium 自动化-调用dom节点的click()监听事件,强力操作节点!穿透元素进行点击,节点被遮挡不可点击解决方法
- pkl是什么类型的文件?怎么来打开它?
- Python 技术篇-如何查看文本用什么类型的编码,文本编码查看方法