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接口正式上线 · 环境云测点地图全新改版 · 祝福各位环境云用户中秋快乐! 平台信息 培训互动 ...
随机推荐
- [BOM]判断是否为pc页面、是否为ios页面
常用于pc页面与h5页面的跳转和适配,区分不同设备进行下载跳转区分. var is_pc = !(navigator.userAgent.match(/(phone|pad|pod|iPhone|iP ...
- Safari高级使用
Safari是苹果公司为旗下设备开发的一款强大的浏览器不论是iPhone还是iPad亦或是MAC OS上都能使用.但是针对不同的系统,Safari也有一定的改动.那么在MacOS中如何使用Safari ...
- lui - pager - 分页
pager - 分页 demo lui demo <template> <div class="app-container"> <h3>el-p ...
- 如何在超星下载非资料页面的ppt
首先打开迅雷(没有就复制到网页下载) 点击f12 点击网络,筛查出输入flag,在响应模块中找到ppt,复制网址并下载
- 北大2022编译原理实践(C/C++)-sysy 编译器构建
这是今年新推出的实践方案,由往年的sysy->IR1->IR2->RISC V变成了sysy->Koopa->RISC V,通过增量的方式让整个实践过程更容易上手 所以先 ...
- 【电脑】电脑windows10添加开机启动项
1.添加开机启动项,首先按组合键"win+R"唤出运行窗口,输入"shell:startup"点击确认,打开启动项文件夹. 2.将需要设置为开机启动的软件快捷方 ...
- vue组件 子组件没有事件怎么 向父组件传递数据
通过ref去接收值!!! 需求图片 代码实现 //----------父组件 <div class="fingerprint-bottom"> <el-tabs ...
- python 时间戳转日期 不自动补零 without zero-padding
1. 时间戳转日期 代码 import time timestamp = 1568171336 time_format = "%Y-%m-%d %H:%M:%S" time_loc ...
- 一招彻底解决——双系统下windows时间错误显示
双系统下windows与ubuntu系统时间不同步 我的笔电是windows系统,工作需要安装了ubuntu,于是成为双系统,于是从18年我就遇到了装了ubuntu系统之后windows时间显示错误的 ...
- vue+高德地图配置及添加marker
1.首先在index.html中引入高德地图 <script type="text/javascript" src="https://webapi.amap.com ...